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

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

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

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

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

此外,仅在1-2周前,我们就为另一个应用程序部署了一个(看似)完全相同的架构,并且运行顺利。

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

最佳答案

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

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

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

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

CloudKit Quick Start指南中的更多信息

10-05 20:23
查看更多