2012-04-01 74 views
2

我有一段在iPhone模拟器上运行良好的应用程序已有一段时间了。最近,我决定在另一个项目中重新使用数据模型和相关类 - 所以我将它们从这个项目窗口拖到另一个项目中,然后告诉Xcode不要复制,只是为了引用。起初,这不起作用,所以我跳过了一些箍环来尝试解决它(我可能会在另一篇文章中提到更多)。毕竟,我重新编译并试图运行原来的应用程序 - 而且它不再工作。在进一步的调查中,我发现当我重新编译原始应用程序时,我最终得到一个包含.momd包的包,但它只包含一个Versioninfo.plist文件 - 没有.mom文件,没有.omo文件,米希望看到。我不记得对原始应用程序进行任何更改。我没有收到任何警告。我只是得到一个不完整的.momd包(而且,我的应用程序现在崩溃了,这并不奇怪)。构建在缺少.mom文件的包中生成.momd

这是怎么回事吗?

BTW,该应用程序现在崩溃此消息: 终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是: '* - [__ NSArrayM insertObject:atIndex:]:对象不能是零'

哪我得到执行这行代码时:

self.productRegistry = [[UIManagedDocument alloc] initWithFileURL:self.productRegistryURL]; 

回答

3

我想通了这一点通过使用搜索在项目目录中的文件位置更加密切关注。在Xcode窗口中,一切都看起来很正常,但在实际的项目目录中,我发现.datamodeld软件包已经在项目目录的最高级别结束 - 与项目软件包本身处于同一级别。 Xcode显然不喜欢这个,但不幸的是它没有抱怨 - 它只是创建了一个部分构建输出。一旦我将.datamodeld软件包移入与项目代码其余部分相同的文件夹中,一切正常。

这似乎只是一个怪癖。我希望Xcode能够看到一切正常,构建正确,否则会发现事情并不像它们应该发生的那样完全失败。在这种情况下,它没有正确构建,但对此保持沉默。

希望此答案有一天能帮助别人。

+0

重组项目的相互依存关系,并具有相同的问题。完全清理和构建,没有来自Xcode 4.4.1的投诉,但没有.mom和.omo,导致使用MagicalRecord发生相同的运行时错误。谢谢 – Neil 2012-08-28 00:49:42