我们的应用程序已在应用程序商店中发布,现在我想开发下一个版本。在这里,我可能会向当前模型添加属性和实体。
我将核心数据与 Magical record 一起使用。
我需要有关使用 magic record 进行核心数据迁移的帮助。
我已经在应用委托(delegate)中使用[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"xxxxxxx"];。
据我了解,如果我们使用上述方法,MR 将负责迁移。
我是否需要在 Model.xcdatamodeld 中进行任何更改,例如添加模型版本(编辑器->添加模型版本)。
请帮助我如何迁移核心数据。
最佳答案
要建立在显然比我更了解 MR 的@casademora 答案的基础上,这是对我有用的东西。关键是按照建议阅读 Apple 文档。
突出显示您现有的 .xcdatamodel,然后单击编辑器 > 添加模型版本 > 使用之前的增量命名它(即,如果“myapp”按照 xcode 中的建议使用“myapp 2”。
<对新创建的 .xcdatamodel 进行更改。
突出显示父 .xcdatamodel,然后在 xcode 右侧的文件检查器中选择您的新版本作为当前模型版本。
注意:仅当执行的操作超过 Lightweight Migration 时才需要此步骤.选择文件 > 新建 > 文件 > 核心数据 > 映射模型。选择原始文件作为源,新文件作为目标,然后保存在与 .xcdatamodel 相同的文件夹中。
当然要确保您使用的是 setupAutoMigratingCoreDataStack 或 setupCoreDataStackWithAutoMigratingSqliteStoreNamed
测试方法是从应用商店下载应用并将其打开,然后关闭并在顶部运行调试。您不应收到任何“已删除不兼容的模型版本”消息(即所有持久数据仍应保留)或任何其他错误。
关于ios - Appstore发布应用的神奇记录,核心数据迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22831445/