【问题标题】:CloudKit Custom Zones in Production Environment生产环境中的 CloudKit 自定义区域
【发布时间】:2018-03-22 00:32:23
【问题描述】:

iCloud 集成在开发环境中有效,在生产环境中失败。似乎自定义记录区域没有与记录类型一起部署。请允许我解释一下。

配置: 我们配置的 iCloud 开发模式有多个不同的自定义记录区域,每个区域都有自己的记录类型。在开发模式下,它可以完美运行 - 数据跨设备持续存在,并且所有记录及其区域都在 iCloud 仪表板上可见。

观察: 然而,当我们将模式部署到生产环境时,自定义记录区域被忽略了。记录类型已成功部署,但它们仍然无用,因为服务器不知道自定义记录区域。

您不会惊讶地发现,每次生产应用程序尝试与 iCloud 同步时,都会被告知(记录错误)记录类型不存在。

我们的尝试: 我们尝试从头开始重建 iCloud 容器,并尝试在仪表板上手动创建自定义记录区域。都没有用。

此外,我们在 1 到 2 周前为不同的应用部署了一个(看似)相同的架构,并且它在没有任何问题的情况下运行。

是否有人对问题可能是什么以及如何解决有任何想法?

【问题讨论】:

    标签: ios icloud cloudkit cloudkit-environments


    【解决方案1】:

    从 CloudKit 仪表板部署到生产仅复制记录类型、安全角色和订阅类型。

    第一次部署应用时,CloudKit 会复制容器 架构到生产环境。这包括记录类型, 安全角色和订阅类型,但不是您的记录 在开发环境中创建。

    您必须使用CKModifyRecordZonesOperation 操作创建自定义记录区域。

    您可以检查您的自定义区域是否已在您的 AppDelegate 中创建,可能使用 UserDefaults 键,例如 CustomZonesCreated。如果没有,请调用您将在其中创建自定义区域的函数。

    更多信息请访问CloudKit Quick Start指南

    【讨论】:

      猜你喜欢
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 2020-03-26
      • 2019-03-08
      相关资源
      最近更新 更多