1.xcodebuild命令是对ios工程进行编译的命令,具体xcodebuild命令的使用方法可以查看我之前的一篇博客。
eg:
cd ${PWD}/TestProxy
xcodebuild clean -configuration Release
xcodebuild -project TestProxy.xcodeproj -configuration release
注:将这些命令保存成一个shell文件
现在的问题是:这个shell文件在终端运行,没有问题;但是要通过jenkins调用,会提示codesign错误:
/Users/ci/jenkins/workspace/iOS_test/TestProxy/app/TestProxy.app: User interaction is not allowed.
Command /usr/bin/codesign failed with exit code 1
2.如果将上面的脚本换成编译debug版本,那么不会提示上面错误,但是如果你想在jenkins中通过instrument命令启动模拟器的话,也会出现一个麻烦:
Failed to authorize rights (0x2) with status: -60007.
那么上面两个问题,可以用一个方法就解决:
修改/etc/authorization这个文件,但是这个文件是peivate下的文件,要想修改,需要按照下面的步骤进行:
1)chmod etc/authorization这个文件的权限为777
sudo chmod 777 /etc/authorization
2)vi etc/authorization 修改这个文件,将false修改为true
<key>system.privilege.taskport</key>
<dict>
<key>allow-root</key>
<false/> // change to -> <true>
<key>class</key>
<string>user</string>
<key>comment</key>
<string>Used by task_for_pid(...).
...
</dict>
3)修改完了之后,保存,退出
4)记得再把/etc/authorization文件的权限修改回去,他之前的权限为:644