如果我添加了一个新的模型版本,然后向一个实体添加了一个属性,我会得到一个迁移失败。无论属性的类型是什么,或者它是可选的还是具有默认值,都不重要。如果我只添加了新的模型版本,但没有添加属性,它就可以正常工作。在过去的三年里,我已经做了很多次这样的事情,没有任何问题。NSMigratePersistentStoresAutomaticallyOption和NSInferMappingModelAutomaticallyOption都设置为true。我得到的错误如下所示。
2018年02月18日12:28:51.771608+0000写入表4105:1886727错误:非法尝试保存到从未打开过的文件。“此NSPersistentStoreCoordinator没有永久存储(架构不匹配或迁移失败)。它无法执行保存操作。”上次记录的错误= error Domain=NSCocoaErrorDomain Code=134140“永久存储迁移失败,缺少映射模型。”
有没有人知道可能出了什么问题?
发布于 2018-02-19 00:22:38
我找到了问题所在。我正在开发一个在Mac OS上的应用程序,已经可以在IOS上使用了。他们通过iCloud同步CoreData。在Mac上工作时,我在模型中添加了一些非可选或默认的属性。长话短说,这导致在更改之前的IOS存储出现问题,所以这就是迁移失败的原因(不能迁移到非可选/非默认属性)。我仍然不确定我是如何陷入这种情况的,因为我通常会非常小心地使用CoreData,但是会发生一些事情。谢谢你的评论,它让我看得更深。
https://stackoverflow.com/questions/48851805
复制相似问题