我已经改变了我的核心数据模型,并在几周后发现它导致旧应用程序版本崩溃。我收到错误:
Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model."
我的问题是,我不记得在我的模型中更改任何内容,并且不知道导致迁移问题的原因。有什么方法可以让我找到这个,或者看一下旧版本的模型吗?
(我的项目目前尚未受版本控制。)
答案 0 :(得分:0)
你不太可能知道你改变了什么。 我的猜测是你对一个现有的模型版本进行了编辑,因为它与同一模型的先前版本一起安装 - 核心数据崩溃。
在那种情况下,你真的没什么可做的。只需捕获持久存储协调器抛出的错误,从所述URL中删除存储并添加新存储。
do {
try persistentStoreCoordinator.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeURL)
} catch let error {
print("Error adding persistent store: \(error). Will try with a new one.")
do {
try FileManager.default.removeItem(at: storeURL)
try persistentStoreCoordinator.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeURL)
} catch let error {
fatalError("Failed creating new persistent store with error: \(error)")
}
}
在你的项目中添加和使用git - 即使你没有在GitHub或任何其他存储库托管上托管源代码,它也非常简单且非常有用 - 只是针对这样的情况。 / p>
答案 1 :(得分:0)
我有同样的问题。我从模拟器或物理设备上删除了该应用,然后将其重新安装。