【问题标题】:Build is producing a .momd in the bundle that is missing the .mom fileBuild 在缺少 .mom 文件的包中生成 .momd
【发布时间】:2012-04-15 10:04:41
【问题描述】:

我有一个在 iPhone 模拟器上运行良好一段时间的应用程序。最近,我决定在另一个项目中重新使用数据模型和相关类 - 所以我将它们从这个项目窗口拖到另一个,然后告诉 Xcode 不要复制,只是为了做参考。起初这不起作用,所以我跳过了很多圈来尝试修复它(我可能会在另一篇文章中询问更多有关此问题的信息)。毕竟,我重新编译并尝试运行原始应用程序 - 它不再工作了。在进一步调查中,我发现当我重新编译原始应用程序时,我最终得到了一个包含 .momd 包的包,但它只包含一个 Versioninfo.plist 文件 - 没有 .mom 文件,没有像我这样的 .omo 文件我期待看到。我不记得对原始应用程序进行过任何更改。我没有收到任何警告。我只是得到一个不完整的 .momd 包(毫不奇怪,我的应用现在崩溃了)。

这是怎么回事?

顺便说一句,应用程序现在崩溃并显示以下消息: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[__NSArrayM insertObject:atIndex:]: object cannot be nil”

执行这行代码时得到的结果:

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

【问题讨论】:

    标签: core-data datamodel


    【解决方案1】:

    我通过使用 Finder 更仔细地查看项目目录中的文件位置发现了这一点。在 Xcode 窗口中,一切看起来都很正常,但在实际的项目目录中,我发现 .datamodeld 包最终位于项目目录的顶层——与项目包本身处于同一级别。 Xcode 显然不喜欢这样,但不幸的是它没有抱怨——它只是创建了一个部分构建输出。一旦我将 .datamodeld 包移动到与项目代码的其余部分相同的文件夹中,一切正常。

    这似乎只是一个怪癖。我希望 Xcode 要么看到一切都很好并正确构建,要么会看到事情并不像他们应该的那样并失败。在这种情况下,它没有正确构建,而是对此保持沉默。

    希望这个答案有朝一日对其他人有所帮助。

    【讨论】:

    • 为相互依赖重新组织了一个项目,并且遇到了同样的问题。完全清理和构建,没有来自 Xcode 4.4.1 的投诉,但没有 .mom 和 .omo,导致使用 M​​agicalRecord 时出现相同的运行时错误。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多