基本上,我有一个版本xcdatamodel
我正在从 V2 迁移到 V3
我创建了一个Mapping Model
具有自定义策略。
一旦PersistenStoreCoordinator
试图完成它的工作,我打了一个Cocoa错误号134140(找不到迁移的映射模型)
这个问题 https://stackoverflow.com/questions/6783197/cant-find-mapping-model-for-migration-where-does-the-mapping-model-have-to-go基本上与我拥有的相同,但我正在使用Xcode 4.6.3
我尝试过的事情:
- 强迫
xcmappingmodel
居住在xcdatamodelId
并确保我的映射模型的大小不是 0kb 根据这个答案question https://stackoverflow.com/questions/5369872/core-data-migration-cant-find-mapping-model-for-migration
- 删除
xcdatamodelId
来自 Xcode 的引用并将其添加回来(这个问题的答案) https://stackoverflow.com/questions/12782570/cant-find-mapping-model-for-migration-uimanageddocument-core-data-migration
- 干净和干净的构建文件夹选项
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 找到了映射。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)