[英]CoreData to CloudKit migration
从 CoreData 迁移到 CloudKit 并保留所有用户数据的最佳方法是什么?
我想退休 Core-Data 并用 CloudKit 替换它,但用户有大量重要数据,应该以某种方式迁移。 此外,许多类都在使用 CoreData 实体,它们不应该受到影响(CRUD 操作除外)。 没有找到任何直接的指导方针。
我的解决方案草案:
- 检查用户是否有 CoreData
- 加载内存中的所有 CoreData 对象
- 将它们写入云端
- 删除核心数据文件
它会按预期工作吗?
Core-Data 移除后可以使用从 NSManagedObject 继承的类吗? 它会引起任何副作用吗?
对于自 WWDC19 以来发现此问题的任何人,Apple 现在提供 CloudKit CoreData 同步。
使用这项技术的核心步骤是从NSPersistentContainer
切换到NSPersistentCloudKitContainer
您可以采取一些额外的步骤来允许后台同步。
可以在此处找到完整的详细信息: https : //developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit
我还发现这篇文章是一个很好的参考:
所以CoreData不能被CloudKit替代,因为CloudKit不支持离线模式。 我找到了将 CoreData 与 CloudKit 同步的库,它的工作原理与预期一致。 图书馆: https : //github.com/mentrena/SyncKit
更新:甚至在发布之前就遇到了 SyncKit 的多个问题,并最终迁移到了 Firebase。 在产品中运行良好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.