gpt4 book ai didi

ios - 如何使用 NSPersistentCloudKitContainer 启动并运行默认项目?

转载 作者:可可西里 更新时间:2023-11-01 05:32:20 26 4
gpt4 key购买 nike

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

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

我错过了什么?

最佳答案

要查看模拟器的变化,您必须退出应用程序,然后重新加载它(或构建并运行)。

模拟器一直无法接收远程通知来触发 iCloud 同步,因此您需要手动强制同步,但我发现无法从我的 Xcode 11 beta 中的菜单手动触发同步(给出错误) .

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

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

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

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

...就是这样!脑洞大开。

我所有的嵌套多对多关系似乎都运行良好。

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

关于ios - 如何使用 NSPersistentCloudKitContainer 启动并运行默认项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56601716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com