首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NSPersistentCloudKitContainer启动和运行时获得默认项目?

如何在NSPersistentCloudKitContainer启动和运行时获得默认项目?
EN

Stack Overflow用户
提问于 2019-06-14 16:00:30
回答 2查看 2.7K关注 0票数 7

我遵循的步骤与“在CloudKit中使用核心数据”中的步骤相同:

  1. 新项目
  2. 启用核心数据+云工具包
  3. 添加iCloud/CloudKit限额+后台模式/远程通知权限。
  4. 在iPhone Xr模拟器中,我登录到我创建的iCloud帐户(然后在icloud.com上验证!)运行这个应用程序,创建多个条目。
  5. 然后,我在iCloud Xs模拟器中登录到同一个iPhone帐户。我运行了这个应用程序,但没有合并任何条目。在这个模拟器中创建条目也不会合并回Xr模拟器。

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-15 08:05:45

要使用模拟器查看更改,您必须退出应用程序,并重新加载它(或构建和运行)。

模拟器从未能够接收到触发iCloud同步的远程通知,因此需要手动强制同步,但我发现同步不能从我的Xcode 11 beta中的菜单手动触发(给出一个错误)。

Andrew发表了一篇关于其他一些事情的很好的文章,比如将automaticallyMergesChangesFromParent属性设置为true,但是在使用模拟器时,这并没有什么区别(编辑:确实如此,但我没有意识到,因为我每次都在构建和运行)。

安德鲁邮报:https://www.andrewcbancroft.com/blog/ios-development/data-persistence/getting-started-with-nspersistentcloudkitcontainer/#where-s-my-data

我在同一条船上,因为我负担不起安装任何测试版软件(Xcode除外),所以我必须坚持使用模拟器。但我将现有应用程序转换为CloudKit的经验非常非常积极。我只需要对我现有的项目做三件事:

  • 添加背景通知& CloudKit功能
  • 确保所有核心数据属性&关系是可选的(如果为零,则为默认值)
  • 将NSPersistentCloudKitContainer重命名为 NSPersistentContainer

...and就这样!心神不宁。

我所有嵌套的多到多关系似乎都很完美。

我仍然需要研究如何同步当前存储在用户文档目录中的JPG图像,但我怀疑它们需要以BLOB的形式存储在核心数据中,以便能够在后台转换为CKAssets。

票数 10
EN

Stack Overflow用户

发布于 2019-11-06 18:17:26

苹果现在有了名为CoreDataCloudKitDemo的示例代码。这包括所有的基本内容,也有额外的代码,当它们从另一个设备到达时处理更改。你需要有台词

description.cloudKitContainerOptions = NSPersistentCloudKitContainerOptions( containerIdentifier:"iCloud.com.developerid.databasename")

将本地数据库转到iCloud并创建架构。您需要使用web上的Cloudkit仪表板来查看模式等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56601716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档