我遵循了这里找到的指南:http://www.timisted.net/blog/archive/core-data-migration/,但当我使用新模型启动应用程序时,不断收到“找不到用于迁移的映射模型”的提示。我在Xcode3和Xcode4中尝试了很多次,但都不能正常工作。
目前,我的选项设置为:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:NO], NSInferMappingModelAutomaticallyOption,
nil];我之前为推断选项设置了YES,但后来它只是在迁移,而没有调用我需要迁移的自定义策略,我认为这是因为它之前也找不到映射模型。
为什么我的地图模型不被接受?我再次检查了之前的模型,并将其与SVN版本进行了对比,以确保没有对其进行更改。
谢谢。
发布于 2011-03-22 02:09:01
事实证明,映射模型需要是.xcdatamodeld包的一部分,这在Xcode4中是不可能做到的,有了它,它就工作得很好。
注意:我的映射文件再次停止工作,我发现它在磁盘上是0KB的,所以我必须重新创建它,然后它就可以正常工作了。我很快提交了它,看看它是否会再次消失。问题是Xcode 4会对它进行索引,所以它在xcode中看起来很好,但在文件系统中却是空的。
原因见我下面的评论(Xcode4的mapc (map编译器)坏了)。
**此问题已在较新的XCODEs/SDK中修复。**
发布于 2011-06-27 20:33:35
我也遇到过类似的问题:
Custom Policy in my xcmappingmodel will not be executed
在我的例子中,它没有执行,因为我的迁移没有对表做任何更改-也许这也是您的问题。
发布于 2011-05-07 06:40:56
确保将源数据模型设置为旧版本,将目标数据模型设置为新版本。当这些是向后的时候,我得到了上面的错误。
https://stackoverflow.com/questions/5369872
复制相似问题