ios - Appstore发布应用的神奇记录,核心数据迁移

标签 ios iphone core-data magicalrecord

我们的应用程序已在应用程序商店中发布,现在我想开发下一个版本。在这里,我可能会向当前模型添加属性和实体。

我将核心数据与 Magical record 一起使用。

我需要有关使用 magic record 进行核心数据迁移的帮助。

我已经在应用委托(delegate)中使用[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"xxxxxxx"];

据我了解,如果我们使用上述方法,MR 将负责迁移。

我是否需要在 Model.xcdatamodeld 中进行任何更改,例如添加模型版本(编辑器->添加模型版本)。

请帮助我如何迁移核心数据。

最佳答案

要建立在显然比我更了解 MR 的@casademora 答案的基础上,这是对我有用的东西。关键是按照建议阅读 Apple 文档。

  1. 突出显示您现有的 .xcdatamodel,然后单击编辑器 > 添加模型版本 > 使用之前的增量命名它(即,如果“myapp”按照 xcode 中的建议使用“myapp 2”。

    <
  2. 对新创建的 .xcdatamodel 进行更改。

  3. 突出显示父 .xcdatamodel,然后在 xcode 右侧的文件检查器中选择您的新版本作为当前模型版本。

  4. 注意:仅当执行的操作超过 Lightweight Migration 时才需要此步骤.选择文件 > 新建 > 文件 > 核心数据 > 映射模型。选择原始文件作为源,新文件作为目标,然后保存在与 .xcdatamodel 相同的文件夹中。

  5. 当然要确保您使用的是 setupAutoMigratingCoreDataStack 或 setupCoreDataStackWithAutoMigratingSqliteStoreNamed

  6. 测试方法是从应用商店下载应用并将其打开,然后关闭并在顶部运行调试。您不应收到任何“已删除不兼容的模型版本”消息(即所有持久数据仍应保留)或任何其他错误。

关于ios - Appstore发布应用的神奇记录,核心数据迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22831445/

相关文章:

ios - SwiftUI 和数据模型 (CoreData) - 如何更改数据?

ios - RESTKit: 重用 objectManager 使后续的 `POST`

ios - Json 有值但它返回 null/nill

ios - 无法从 Objective C 中的 swift 类调用方法

iphone - 如何知道 ALAsset url 是否包含视频或图像?

iphone - iPhone两次之间的时差

ios - 如何在 Swift 中为不同的页面撤消细线删除?

iphone - 为定义的 NSObject 类动态创建 @property

iphone - 有没有办法检查用户是否在应用商店中对您的应用进行了评分?

sqlite - 在 iOS 项目中管理 coredata/sqlite 数据库生命周期