我一直在寻找将 CloudKit 方案迁移到我最新的本地核心数据模型的适当解决方案。即使推送新的更改,CloudKit 模型也不会更新。我尝试手动更新该方案,但它似乎有问题且非常耗时。有什么建议么?
问问题
136 次
2 回答
1
加载持久存储后,您是否尝试过以下操作之一?
尝试?container.initializeCloudKitSchema(选项:.printSchema)
或者
尝试?container.initializeCloudKitSchema(选项:.dryRun)
你到底改变了什么?如果您仍在开发中,您可以在 CloudKit Dashboard 中重置环境。
于 2020-09-19T14:45:39.477 回答
0
就我而言,问题出在一种记录类型上:
在 CloudKit 中,它最初被同步为 Double
比我决定将它的类型更改为 String
对于此类错误,您会收到 Core Data 警告,但由于控制台中有许多此类消息,因此发现它并不容易。
所以我已经在iCloud 仪表板中删除了这条记录(只有当它们没有被移动到生产环境时,你才能删除记录),然后我的新方案(带有新的记录和关系)立即使用标准命令更新:
let options = NSPersistentCloudKitContainerSchemaInitializationOptions()
try? container.initializeCloudKitSchema(options: options)
于 2021-07-15T17:46:02.473 回答