Mogenerator 是不是适用于 Xcode 6?

Posted

技术标签:

【中文标题】Mogenerator 是不是适用于 Xcode 6?【英文标题】:Does Mogenerator works with Xcode 6?Mogenerator 是否适用于 Xcode 6? 【发布时间】:2015-03-26 07:42:23 【问题描述】:

我已经使用 tutorial 为我的项目设置了 Mogenerator,但由于某种原因它不会在 Build 上生成文件。

这是我的脚本:

我的项目文件夹: 还有 *.xcdatamodel 文件:

我正在选择 Mogenerator 目标,按构建。构建成功,但没有创建文件。我知道 mogenerator 不会将它添加到我的 xcode 项目中并在 finder 的项目文件夹中查找文件,但那里没有新内容:(。 我只是不明白我在做什么错。尝试了很多脚本变体。

如有任何帮助,我将不胜感激!谢谢。

【问题讨论】:

【参考方案1】:

这是我的脚本。它工作正常。将 中的内容替换为您的内容。 还要检查 shell 的路径。 我的是/bin/sh

https://gist.github.com/madnik/8a91d546cc7031f829c5

MODEL_PATH="$PROJECT_DIR/<RootDirectory>/<ModelName>.xcdatamodeld"
OUTPUT_DIRECTORY="$PROJECT_DIR/<RootDirectory>/Classes/Model"
mogenerator --v2 --model $MODEL_PATH --output-dir $OUTPUT_DIRECTORY

请注意,我使用的是最新版本的 mogenerator。 --v2 参数基本上是工具参数的语义版本控制。

【讨论】:

感谢有关 Shell 路径的建议。我在我的脚本中提供了错误的一个 享受版主。任何用户都使用 zsh 而不是默认 shell 安装 mogenerator。确保路径应该是 'bin/zsh' 。 Zsh 在 web 开发人员特别是 rails 中非常流行。我看到很少有用户对此有问题。此评论可能对使用 zsh 的人有所帮助。 新的 --v2 参数基本上是工具参数的语义版本控制。提到 mogenerator v2 可能会令人困惑。我会改正的。【参考方案2】:

问题出在脚本中。我不知道为什么,但我必须明确提供 mogenerator 的路径(即“/usr/local/bin/mogenerator”):

/usr/local/bin/mogenerator --v2 --model MogeneratorProject/MogeneratorProject.xcdatamodeld --output-dir MogeneratorProject/Model

另外,我一直在提供错误的 Shell 路径。现在是/bin/sh

【讨论】:

以上是关于Mogenerator 是不是适用于 Xcode 6?的主要内容,如果未能解决你的问题,请参考以下文章

XCode 4.6 中的 Mogenerator 和 ARC

如何指定 Mogenerator 生成文件的“目标”?

代码覆盖是不是已经适用于 Swift?

使用 Xcode 9 启动仅适用于 iPhone 的应用程序

systemSound 不再适用于使用 ARC 升级的 Xcode 4.5.2

适用于 iPhone 和 iPad 的 Xcode 故事板和 xib