更新应用程序时重用核心数据模型 - 从头开始

Reusing core data model when updating app - from scratch

我的问题很简单,但我至今还没有找到任何具体的答案。

我有一个经常更新的 obj-c 应用程序。我想创建一个具有相同包 ID 的新 swift 应用程序来替换旧的应用程序作为更新。我的旧应用程序中有 8 个核心数据模型版本,我很想迁移到新的 swift-from-scratch-app,这样我的用户就不会丢失他们的数据。有可能吗??

谢谢你

如果您使用的是完全相同的 bundle ID(这是关键),那么从 iOS 的角度来看,它被认为是完全相同的应用程序。假设您的用户在他们的设备上安装了您应用程序的 1.x 版本,并且您使用新的 Swift 项目发布了 2.x。您的用户和 iOS 都无法分辨出这是用 Swift.

编写的全新应用

这里的问题是,除非您使用完全相同的模型名称,否则 CoreData 将无法使用现有数据进行初始化,您将被迫为此编写自定义迁移。

我对你的建议是从你的旧项目中复制 xcdatamodel 文件,并在复制到新项目中后更改它生成的代码的语言。

然后在 Swift 中重新生成您的实体并像什么都没发生一样继续工作。