如何获取xcodebuild的返回值?

Emi*_*dee 10 xcodebuild

我在持续集成服务器上的bash脚本中使用xcodebuild.

我想知道脚本中的构建何时失败,因此我可以提前退出并将构建标记为失败.

xcodebuild向控制台显示BUILD FAILED消息,但是我没有成功获取返回值.

我怎样才能做到这一点?

提前致谢

Emi*_*dee 12

我使用这个命令解决了我的问题:xcodebuild -... || 退出1

  • 你能解释一下为什么有效吗? (3认同)

Jav*_*oto 12

xcodebuild无论实际测试结果如何,始终返回0.您应检查输出中的任何一个** BUILD FAILED **** BUILD SUCCEEDED **输出,以了解测试是否通过.

  • 我们究竟如何检查这些状态?它们不像退出代码AFAIK (6认同)

Dmi*_*try 10

你可以使用"$?" 变量以获取上一个命令的返回码.

xcodebuild -...
if [[ $? == 0 ]]; then
    echo "Success"
else
    echo "Failed"
fi
Run Code Online (Sandbox Code Playgroud)


Hit*_*iya 6

Xcodebuild可以返回此处列出的任何错误代码,不限于EX_OK(或int 0).

但是,我从Dmitry提供的解决方案中学习并修改如下.它适用于我,我希望它可能会有所帮助.

xcodebuild -project ......
     if test $? -eq 0
     then
        echo "Success"
     else
        echo "Failed"
     fi
Run Code Online (Sandbox Code Playgroud)