如果我添加新的模型版本然后向实体添加属性,则会导致迁移失败。属性的类型是什么或者它是可选的还是具有默认值并不重要。如果我只是添加新的模型版本但不添加属性,则可以正常工作。在过去的3年里,我做过很多次没有问题的事情。 NSMigratePersistentStoresAutomaticallyOption和NSInferMappingModelAutomaticallyOption都设置为true。我得到的错误如下所示。
2018-02-18 12:28:51.771608 + 0000写入棚[4105:1886727] [错误]错误:非法尝试保存到从未打开过的文件。 "此NSPersistentStoreCoordinator没有持久存储(模式不匹配或迁移失败)。它无法执行保存操作。"。上次记录的错误=错误域= NSCocoaErrorDomain代码= 134140"持久存储迁移失败,缺少映射模型。"
有谁知道可能出错了什么?
答案 0 :(得分:0)
我发现了问题。我正在开发一个已在IOS上提供的Mac OS应用程序。他们通过iCloud同步CoreData。在使用Mac的某些时候,我在模型中添加了一些非可选或默认的属性。简而言之,这会导致IOS存储在更改之前出现问题,因此迁移失败时(无法迁移到非可选/非默认属性)。我仍然不确定我是如何陷入这种情况的,因为我通常对CoreData非常小心,但是嘿嘿事情发生了。感谢您的评论让我看起来更深。