核心数据迁移 - 无法找到迁移的映射模型

Phi*_*rin 9 iphone data-migration core-data objective-c mapping-model

我按照这里找到的指南:http: //www.timisted.net/blog/archive/core-data-migration/ 但是当我使用新模型启动应用程序时,继续获取"无法找到迁移的映射模型" .我已经多次尝试过xcode 3和xcode 4,但是永远无法让它工作.

目前我的选项设置为:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
    [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
    [NSNumber numberWithBool:NO], NSInferMappingModelAutomaticallyOption,
    nil];
Run Code Online (Sandbox Code Playgroud)

我之前为推断选项设置了YES,但之后它只是在没有调用我需要迁移的自定义策略的情况下进行迁移,我认为这是因为它之前无法找到映射模型.

我的测绘模型没有被提起的任何原因?我通过检查它的SVN版本,仔细检查了以前的模型没有进行任何更改.

谢谢.

Phi*_*rin 8

事实证明,映射模型需要成为.xcdatamodeld包的一部分,这在xcode 4中是不可能的.有了它,它在那里工作得很好.

注意:我的映射文件再次停止工作,我发现它在光盘上是0KB,所以我不得不重新创建它,之后它工作正常.我很快就承诺了,并会看到它是否会再次消失.问题是Xcode 4对它进行了索引,所以它在xcode中看起来很好但在文件系统上它是空的.

请参阅下面的评论,原因是(xcode 4的mapc(地图编译器)已损坏).

**这已经在新的XCODE/SDK中得到了修复.**

  • 是的,我已经弄清楚了.这是我对苹果的错误报告(他们将其作为已知问题欺骗):我们有两个模型,其中有一个用于迁移的映射模型.从Xcode 3编译和运行应用程序时,迁移按预期工作.使用相同的模型/映射模型移动到xcode 4会给我们一个"无法找到迁移的映射模型"错误.从xcode 3 usr/bin /获取mapc并将其复制到xcode 4 usr/bin(在备份xcode 4之后)并在xcode 4中重建允许迁移按预期进行. (3认同)