生产环境中的CloudKit自定义区域

时间:2018-03-22 00:32:24

标签: ios icloud cloudkit cloudkit-environments

iCloud集成在开发环境中工作,在生产环境中失败。看起来自定义记录区域不会与记录类型一起部署。请允许我解释一下。

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

观察: 但是,在将架构部署到生产环境时,自定义记录区域被省略了。记录类型已成功部署,但由于服务器不知道自定义记录区域,因此它们仍然无用。

每次生产应用程序尝试与iCloud同步时,都会告诉您(记录错误)记录类型不存在,您不会感到震惊。

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

此外,我们在1-2周之前为不同的应用程序部署了一个(看似)相同的架构,并且它没有任何问题。

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

1 个答案:

答案 0 :(得分:1)

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

  

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

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

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

CloudKit Quick Start指南

的更多信息