使用Mogenerator和Xcode 5

时间:2013-11-22 06:00:47

标签: ios xcode core-data xcode5 mogenerator

我正在尝试将Mogenerator与Xcode 5一起使用,但它只生成一组ManagedObject类(.h和.m)文件而不是两组(Machine和Human)文件。我已经尝试了很多教程但到目前为止没用。如果有人能提供一步一步的指导,使用Mogenerator和Xcode 5会非常有帮助。

我按照以下链接中提到的程序进行操作。 http://adoptioncurve.net/archives/2012/12/setting-up-mogenerator-in-xcode-4-dot-5/

这是我遵循的步骤,

  1. 已安装'Mogenerator'
  2. 添加了新的生成器目标。
  3. 选择'New Mogenerator'目标,然后选择'Build Phases'。
  4. 然后从编辑器标签 - >添加构建阶段 - >添加运行脚本构建阶段
  5. 在“Mogenerator”目标上打开“运行脚本”部分,然后像这样编辑脚本    mogenerator -m MyCoreDataApp / MyCoreDataApp.xcdatamodeld -O MyCoreData / Model --template-var arc = true
  6. 选择“主要”目标并将“目标”依赖关系添加为“Mogenerator”。
  7. 在Core Data文件(xcdatamodeld)上选择'Entity',然后选择Editor - >创建NSManagedObject子类。
  8. 在弹出窗口中选中“主要”目标。 (甚至尝试选择'Mogenerator'目标)。
  9. 仅重新创建两个NSManagedObject子类(.h和.m)的文件。

    如果我错过了这个过程中的任何步骤,请告诉我。

2 个答案:

答案 0 :(得分:9)

首先,您的步骤7和8 应该是不必要的。您正在复制mogenerator应该采取的步骤。您不应该采取这些步骤,并且应该删除使用这些步骤创建的文件。当你使用它时,创建这些文件是mogenerator的工作。

您描述的结果表明以下情况之一:

  • mogenerator实际上并没有出于某种原因运行。仔细查看构建日志以确保它完成。
  • mogenerator但由于某种原因失败但失败了。再次,查看构建日志是否有问题。
  • mogenerator正常运行,但您要么找错了它的结果,要么就是不太了解这个过程。

如果mogenerator正常工作,它会为模型中的每个实体生成两个类文件。但它不会自动将文件添加到您的Xcode项目。如果文件已经是项目的一部分,那么Xcode将使用新版本。但如果它们是新文件,则需要在Xcode注意到它们之前将它们添加到项目中。如果是这种情况,那么您的mogenerator命令意味着这些文件位于MyCoreData/Model,等待您找到它们。

答案 1 :(得分:6)

我遇到了同样的问题,构建了mogenerator,但是没有生成文件。我的问题是我忘了在.xcdatamodel

中添加自定义子类

enter image description here

我检查了我的构建日志,就像上面提到的Tom一样,这就是我看到消息"跳过实体SiteInfoGeneral(NSManagedObject)的原因,因为它没有使用自定义子类"

希望这对某人有帮助!