8

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

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

我已经尝试了各种方法来停止构建,例如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 停止构建?如果是这样,我该怎么做?

4

2 回答 2

11

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

exit 1
于 2012-10-22T14:06:20.263 回答
4

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

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

例子:

if [ -d ~/Desktop/MyFolder ]; then
    cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder
else
    echo "error: Copy failed!"
fi
于 2014-11-05T23:01:34.233 回答