如何获取xcodebuild的返回值?

时间:2011-09-09 14:47:20

标签: xcodebuild

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

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

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

我怎样才能做到这一点?

提前致谢

7 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:11)

无论实际测试结果如何,

xcodebuild始终返回0。您应该检查输出中的** BUILD FAILED **** BUILD SUCCEEDED **,以了解测试是否通过。

答案 2 :(得分:10)

你可以使用“$?”变量来获取上一个命令的返回码。

xcodebuild -...
if [[ $? == 0 ]]; then
    echo "Success"
else
    echo "Failed"
fi

答案 3 :(得分:6)

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

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

xcodebuild -project ......
     if test $? -eq 0
     then
        echo "Success"
     else
        echo "Failed"
     fi

答案 4 :(得分:2)

也许不是因为xcodebuild在构建失败时没有返回非零值。无论返回错误行如何,您的shell脚本都会继续运行,这可能是因为您没有使用“-e”选项运行脚本。

尝试在脚本文件之前加上#!/ bin / bash -e

答案 5 :(得分:0)

通常,您始终可以通过以下方法检查Unix bash中上次运行进程的存在值:

$ echo $?

其中$?是最后执行的命令的现存值的内置占位符。有关其他bash内置变量的更多详细信息,请参见here

因此,首先运行您要检查其返回代码的命令,然后按上述方式运行echo。

答案 6 :(得分:-1)

编译产品(.a或.ipa文件)是否存在