objective-c - 保存核心数据模型因断电中断 : Persistent store migration failed, 缺少映射模型

标签 objective-c cocoa core-data

我刚刚打开了一位客户的核心数据数据库,该客户在停电时正在使用该应用程序,因此他的 Mac 在保存核心数据模型时关闭了。

调试器显示:错误:持久存储迁移失败,缺少映射模型。

是否是因为模型更新错误导致某些部件丢失/无效?

我可以做些什么来恢复这个数据库吗?

谢谢

最佳答案

显然,该模型(.xcdatamodel 文件中描述的模型)不再与商店中的实际数据同步。当您更改模型时会发生这种情况:添加实体、关系、更改属性等。

要将数据从存储传输到新模型,您可以使用核心数据映射模型(.xcmappingmodel 文件)。该文件描述了对数据模型的各种修改,并允许 Core Data 将数据从模型的先前版本迁移到新版本。如果缺少此文件,则数据无法迁移/传输到模型的新版本。显然,从收到的消息来看,映射模型并不存在。

造成这种情况的原因可能有很多,也许是因为构建错误。仔细检查应用程序是否有权访问映射模型并重试。如果数据损坏,您可以尝试使用具有停电前时间戳的数据备份版本,看看迁移是否可以从那里进行。

关于objective-c - 保存核心数据模型因断电中断 : Persistent store migration failed, 缺少映射模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136995/

相关文章:

ios - 向不兼容类型的参数发送“__autoreleasing…”

ios - 具有核心数据的模型 Controller 抽象

ios - 如何清除/重置一对多关系中的所有CoreData

ios - 使用 NSKeyedArchiver 从保存在 NSDictionary 中的 NSManagedObjects 生成 XML

iphone - 使用 tableview 作为 uitextview

ruby - 在 NSMenuItem 对象上调用 setTitle 方法不会更改显示的标题,但会更改属性

ios - 将 NSData 数组转换为 UIImage 数组

iphone - Cocoa 和 iPhone 开发之间的差异

ios - 询问一个似乎有空条目的 NSArray

ios - NSXMLParser 不解析 xcode 项目中的 xml 文件