如何从shell脚本停止Xcode构建

时间:2012-10-22 12:08:17

标签: xcode bash shell

我目前正在Xcode中开发一个应用程序,我在其中添加了一个运行shell脚本的Build Phase。

该脚本从桌面查找资源并将其复制到应用程序。如果文件/文件夹不存在,脚本应取消应用程序的构建。

我已尝试过各种各样的东西来阻止xcodebuild clean这样的构建,但我无法弄明白。这就是我所拥有的:

if [ -d ~/Desktop/MyFolder ]; then
    cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder
else
    #Stop the build
fi

有没有办法让脚本告诉Xcode停止构建?如果是这样,我该怎么办?

2 个答案:

答案 0 :(得分:6)

您需要从脚本中返回非零退出代码:

exit 1

答案 1 :(得分:3)

另一个有用的技术是脚本生成带有“error:”前缀的输出。 这将导致Xcode在构建日志中显示错误,如果Xcode设置在失败时停止构建 - 它将在那里停止。

除此之外,您还可以通过打印“warning:”前缀来触发警告。

示例:

if [ -d ~/Desktop/MyFolder ]; then
    cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder
else
    echo "error: Copy failed!"
fi