我有一个较旧的核心数据版本,在二进制数据中带有Allows external storage
。我创建了一个新的Allows external storage
未被选中的地方。当我尝试启动我的应用程序时,出现错误:
未解决的错误
Error Domain = NSCocoaErrorDomain代码= 134140“该操作无法 完成。 (可可错误134140。)“ UserInfo = 0xbd5cd20 {原因=不能 查找或自动推断要迁移的映射模型, destinationModel = ...
然后,我在项目中创建了一个新文件-Model.xcmappingmodel
。我选择了源数据模型和目标数据模型。
那之后我看到
NSPersistentStoreCoordinator错误:NSPersistentStoreCoordinator _coordinator_you_never_successfully_opened_the_database_schema_mismatch
答案 0 :(得分:0)
出于将来的考虑...从iOS 12开始,写入CoreData的外部存储的操作已中断。我的解决方案基于Drew McCormack在Twitter上的评论。
值得注意的是,只有写作被打破,阅读才能发挥作用。
创建一个新属性,例如«original property name»Internal
,该属性具有相同的类型,但带有{strong>未被选中的Allows external storage
框。
您现在有两个选择:
«original property name»Internal == NULL && «original property name» != NULL
来获取所有对象,并在其中移动数据(我这样做)。«original property name»Internal
(nil
写入«original property name»
时)最后一次值得注意的是,客户的数据在更新之前是安全的。仔细尝试,但您应该没事。