微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过NSPersistentCloudKitContainer将iCloud方案更新为最新的Core Data版本

如何解决通过NSPersistentCloudKitContainer将iCloud方案更新为最新的Core Data版本

我一直在寻找合适的解决方案以将CloudKit方案迁移到我最新的本地Core Data Model。即使推送新更改,CloudKit模型也不会更新。我尝试手动更新该方案,但它似乎有问题且非常耗时。 有什么建议吗?

解决方法

加载持久性存储后,您是否尝试过以下方法之一?

尝试? container.initializeCloudKitSchema(options:.printSchema)

尝试? container.initializeCloudKitSchema(options:.dryRun)

您到底做了什么更改?如果您仍在开发中,则可以在CloudKit仪表板中重置环境。

,

就我而言,问题出在一种 Record 类型上:

  • 在 CloudKit 中,它最初同步为 Double

  • 我决定将它的类型改为字符串

对于此类错误,您会收到 Core Data 警告,但由于控制台中有大量此类消息,因此不容易发现它。

所以我在 iCloud dashboard 中删除了这条记录(只有当记录没有移到生产时才能删除记录),之后我的新方案(带有新的记录和关系)立即更新为标准命令:

let options = NSPersistentCloudKitContainerSchemaInitializationOptions()
try? container.initializeCloudKitSchema(options: options)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。