1

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

4

2 回答 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 回答