我正在通过NSPersistentCloudKitContainer向我的应用添加CloudKit支持。
在开发者门户中,我在应用标识符中添加了iCloud和推送通知功能,下载了一个新的预置配置文件并安装在Xcode上。在iCloud中,我选中了"CloudKit支持",并为我的应用启用了一个容器。
在我的应用目标Signing & Capabilities中,我启用了远程通知和CloudKit,并检查了容器。
现在,我使用NSPersistentCloudKitContainer运行我的应用程序来处理我所有的Core Data内容。我执行创建新托管对象的任务。这是在我使用iCloud登录的设备上执行的。
在CloudKit Jmeter 板中,我看到了我的应用的容器,但没有看到任何对象进入云的证据。我在"开发"中,单击"记录类型",我希望看到一些来自我的实体的"CD_..."。只有"用户"记录类型显示。
我从头开始重新安装了应用程序,看看之前创建的对象是否从云端同步,但没有,显然那里什么都没有。
有什么想法吗?
更新:在我的设备上,我使用个人Apple ID登录。我使用相同的ID注册了开发者计划。该应用未显示在使用iCloud的应用列表中。
3条答案
按热度按时间o75abkj41#
在WWDC 19会议Using Core Data With CloudKit中,他们提到他们为使用Core Data/CloudKit集成的应用程序使用自定义区域。为了查看数据,从CloudKit Jmeter 板中选择私有数据库,然后选择为您创建的自定义CloudKit区域。从那里选择您的记录类型,然后选择查询记录。然后您应该会看到您的数据显示出来。
enyaitl32#
我找到了CloudKit Jmeter 板中缺少架构的原因。你应该创建一个记录并保存它,这样你就触发了一个同步(也许?)并再次检查CloudKit Jmeter 板,你会看到新创建的架构。
ogsagwnx3#
不知何故,我在创建NSPersistentStoreDescription时错过了这一步:
我还没有在 Jmeter 板中看到它,因为现在我得到了一个关于数据库模型与CloudKit不兼容的错误!