映射模型找不到(Cocoa错误134140)



基本上,我有一个版本化的xcdatamodel,我正在从V2迁移到V3

我使用自定义策略创建了一个Mapping Model

一旦PersistenStoreCoordinator尝试完成它的工作,我遇到了一个Cocoa错误编号134140(找不到迁移的映射模型)

这个问题基本上与我的问题相同,但我使用的是Xcode 4.6.3

我尝试过的东西:

  • 根据这个问题的答案,强制xcmappingmodel驻留在xcdatamodelId中,并确保我的映射模型大小不是0kb
  • 从Xcode中删除xcdatamodelId引用并将其添加回(此问题的答案)
  • "清理"one_answers"清理生成文件夹"选项

EDIT如果有人感兴趣,下面是我的调试语句。。。

Handling DB Upgrade
sourceMetadata is {
NSPersistenceFrameworkVersion = 419;
NSStoreModelVersionHashes =     {
    OriginalPicture = <ce8de6ad c694b569 dcc1d706 d4df3928 05052cab 14a092f1 340cbf01 2306e861>;
    PanoramicInfo = <923298fa 0af16c01 d5ba91ca 19c6252c 8adee68a bfe7b86b 75285500 6883a1aa>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers =     (
    ""
);
NSStoreType = SQLite;
NSStoreUUID = "F83640F3-8686-438F-97CC-48311EB74B9C";
"_NSAutoVacuumLevel" = 2;
}
Not Compatible Models Migration is NEEDED!
SourceEntity: OriginalPicture: <ce8de6ad c694b569 dcc1d706 d4df3928 05052cab 14a092f1 340cbf01 2306e861>
DestinationEntity: OriginalPicture: <ce8de6ad c694b569 dcc1d706 d4df3928 05052cab 14a092f1 340cbf01 2306e861>
SourceEntity: PanoramicInfo: <923298fa 0af16c01 d5ba91ca 19c6252c 8adee68a bfe7b86b 75285500 6883a1aa>
DestinationEntity: PanoramicInfo: <1d7836cd f3ccf5fa 487c1984 e2b3f46c abc3b706 c06512d5 0bac698c a5d8cb20>
The operation couldn’t be completed. (Cocoa error 134140.)

第二次编辑

我一直试图通过使用直接获得映射模型

NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"Update23Model" withExtension:@"cdm"];

但奇怪的是,fileURL指向nil。。。。。

那么,如何将映射模型添加到捆绑包中呢?

看起来像是Xcode 4.6.3错误。。。xcmappingmodel不能在任何组文件夹中,看起来。。。。

当我在xcode项目的根级别创建它时,IDE找到了映射。

这个答案能解决你的问题吗?这个问题似乎很相似,如果没有帮助的话,很抱歉。

如果测试设备的存储来自不再存在的数据模型版本,则可能发生这种情况。

例如,我有数据模型版本7,然后我制作了数据模型版本8。我制作了一个从7到8的映射模型。然后我对8做了更多的更改。当我打开该应用程序时,它会给出这个错误,因为映射模型所基于的8版本已不存在。

最新更新