我目前正在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停止构建?如果是这样,我该怎么办?
答案 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