使用 CloudKit 进行轻量级 CoreData 迁移

Cal*_*l30 2 data-migration core-data ios swift nspersistentcloudkitcontainer

核心数据是否可以处理简单的数据模型添加(例如新属性)而无需我提供任何进一步的“帮助”?就我而言,我有一个应用程序,它使用核心数据来处理与用户个人资料相关的各种事务。我有一个名为 Profile 的现有数据模型实体,我想向其中添加 2 个新属性:

hasPublished: Boolean

lastDetail: String

那么,这适用于我的情况吗?我没有重新命名任何东西,只是添加。

还要注意一点,我使用 NSPersistentCloudKitContainer 因为信息可以在用户设备之间共享。

小智 5

是的,它可以处理,但是您需要做一些小工作。

  1. 您需要创建新版本的核心数据模型。
  2. 调用initializeCloudKitSchema()以便将更改上传到 CloudKit。
  3. 不要忘记从 CloudKit 仪表板将更改部署到生产环境。
  4. initializeCloudKitSchema()将应用程序部署到 AppStore 时删除。