如何解决通过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 举报,一经查实,本站将立刻删除。