找不到映射模型(Cocoa 错误 134140)
Posted
技术标签:
【中文标题】找不到映射模型(Cocoa 错误 134140)【英文标题】:Mapping Model nowhere to be found (Cocoa Error 134140) 【发布时间】:2013-08-09 15:53:18 【问题描述】:基本上,我有一个版本化的xcdatamodel
,我正在从 V2 迁移到 V3
我使用自定义策略创建了 Mapping Model
。
一旦PersistenStoreCoordinator
尝试完成它的工作,我遇到了 Cocoa 错误编号 134140(找不到用于迁移的映射模型)
This Question 基本上与我的相同,但我使用的是 Xcode 4.6.3
我尝试过的事情:
强制xcmappingmodel
驻留在xcdatamodelId
内,并确保我的映射模型大小不是0kb,根据question 的答案
从 Xcode 中删除 xcdatamodelId
引用并将它们添加回 (answer of this question)
清理和清理构建文件夹选项
编辑如果有人感兴趣,这是我的调试语句...
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.....
那么如何将映射模型添加到捆绑包中?
【问题讨论】:
【参考方案1】:看起来像 Xcode 4.6.3 错误...
xcmappingmodel
不得出现在任何组文件夹中......
当我在 xcode 项目的根级别创建它时,IDE 找到了映射。
【讨论】:
我不敢相信答案这么简单!为我做了诀窍!我正准备恢复到旧的核心数据模型并重新创建新模型。非常感谢! @DroidChris 很高兴它有帮助:D【参考方案2】:this answer 会解决您的问题吗?问题似乎很相似,如果没有帮助,请见谅。
【讨论】:
谢谢...我做了日志,源的哈希与我从 sourceMetaData 得到的相同,而目标的哈希不同...仍然找不到映射模型【参考方案3】:如果您的测试设备的商店来自不再存在的数据模型版本,则可能会发生这种情况。
例如,我有数据模型版本 7,然后我制作了数据模型版本 8。我制作了一个从 7 到 8 的映射模型。然后我对 8 做了一些更改。当我打开那个应用程序时,它会给出此错误是因为映射模型所基于的 8 版本不再存在。
【讨论】:
以上是关于找不到映射模型(Cocoa 错误 134140)的主要内容,如果未能解决你的问题,请参考以下文章
找不到路径“/sessions/user”的设计映射设计登录错误
致命错误:找不到模块映射文件 YogaKit.modulemap