CoreData 到 CloudKit 迁移

Ale*_*lex 3 core-data ios cloudkit

从 CoreData 迁移到 CloudKit 并保留所有用户数据的最佳方法是什么?

我想淘汰 Core-Data 并将其替换为 CloudKit,但用户拥有大量重要数据,应该以某种方式迁移它们。此外,许多类正在使用 CoreData 实体,它们不应该受到影响(CRUD 操作除外)。没有找到任何简单的指导方针。

我的解决方案草案:

-检查用户是否有CoreData

-加载内存中的所有CoreData对象

-将它们写入云端

-删除CoreData文件

它会按预期工作吗?

移除 Core-Data 后可以使用从 NSManagedObject 继承的类吗?它会引起任何副作用吗?

Lew*_*s42 7

对于自 WWDC19 以来发现此问题的任何人,Apple 现在提供 CloudKit CoreData 同步。

使用该技术的核心步骤是NSPersistentContainerNSPersistentCloudKitContainer

您可以采取一些额外的步骤来允许后台同步。

完整详细信息可以在这里找到:https ://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit

我还发现这篇文章是一个很好的参考:

https://www.andrewcbancroft.com/blog/ios-development/data-persistence/getting-started-with-nspersistentcloudkitcontainer/