在编译托管对象模型时,有何方法可以忽略缺少的反向警告?

时间:2012-01-04 17:07:38

标签: xcode core-data

标题几乎包含了这个问题。我们发布了一个应用程序,其数据模型的反转配置不正确。我们在下一个版本中使用新版本的数据模型修复了这些问题,但Xcode在编译以前的数据模型版本时仍会显示警告。

我不想破坏将文档从旧数据模型迁移到新数据模型的能力,我很确定改变旧数据模型中的反转就可以做到这一点。所以,我想知道是否有办法抑制该文件的警告 - 我担心其他人可能会出现,看到警告,并决定“修复”它。

编辑:根据pe8ter的评论,看起来我想为数据模型的单个版本指定MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS选项。我不希望在整个项目范围内关闭它,甚至不想在整个范围内建模,因为如果人们将来犯同样的错误,我希望出现警告。

2 个答案:

答案 0 :(得分:2)

由于您只是为了向后兼容而包含该文件,因此您不希望它发生变化,我建议将已编译的文件检查到源代码控制中,并使用“复制文件”构建阶段将其放入正确的地方。

由于我们只是在讨论捆绑中的单个修订版本,因此您可能需要在模型源中保留一个空的虚拟版本(因此它获得正确的编号)。然后你的复制文件阶段就会覆盖它。

答案 1 :(得分:1)

我不能说我自己需要这样做,但您可以尝试编写一个脚本,在您的旧数据模型上运行momc编译器,并根据需要设置MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS。然后添加运行脚本构建阶段以在构建时运行脚本。您可能需要从目标中删除旧数据模型,以防止Xcode尝试编译它。您可以使用Copy Bundle Resources构建阶段将已编译的模型包含在构建的应用程序中。

在编写该脚本之前,您必须查找 momc模型编译器。 This page表示它位于Library/Xcode/Plug-ins/XDCoreDataModel.xdplugin/Contents/Resources/,但它似乎已经转移到了Xcode 4。