rey*_*s20 19 ssh xcodebuild codesign ios jenkins
我试图在Jenkins上运行自动xcodebuild,但我遇到了错误
不允许用户交互.命令/ usr/bin/codesign失败,退出代码为1
我已经引用了"不允许用户交互"尝试使用codesign和其他类似线程签署OSX应用程序,但没有一个解决方案似乎能够正确地修复错误.
这是我已经尝试过的:
我已经允许所有项目访问钥匙串,并且我已经特别添加了代码签名到"始终允许"列表(在此处完成/sf/answers/1584652751/)
我已经将钥匙串设置为不通过Keychain Access的设置和命令自动锁定超时
security set-keychain-settings -t 3600 -l <KEYCHAIN>
Run Code Online (Sandbox Code Playgroud)我试过打电话
codesign --sign <CODE SIGN IDENTITY> --force ...
Run Code Online (Sandbox Code Playgroud)
在项目编译之前(更具体地说,这个解决方案/sf/answers/1414567311/),虽然这成功地构建了项目,但我认为编译前的协同设置是正确或可靠的.(编辑:从jenkins运行时也失败了)
以下是我正在执行的命令:
security unlock-keychain -p <PASSWORD> <KEYCHAIN>
xcodebuild -scheme <SCHEME> -workspace <WORKSPACE> -derivedDataPath <BUILD DIRECTORY> -configuration <CONFIGURATION> "CONFIGURATION_BUILD_DIR=<BUILD DIRECTORY>" "CODE_SIGN_IDENTITY=<CODE SIGN ID>" "PROVISIONING_PROFILE=<PROVISIONING PROFILE>" clean build
Run Code Online (Sandbox Code Playgroud)
有趣的是要在机器上构建项目使用上面的命令,但尝试通过ssh(和jenkins)运行完全相同的命令会导致错误.
在此先感谢您的帮助!
Mic*_*Loo 13
Apple不支持SSH以自动运行自动构建headless,因此通过SSH运行可能是这里的问题:
运行GUI应用程序不支持LaunchDaemons提供的上下文.SSH服务和Jenkins的默认设置都实现为LaunchDaemons.在Xcode 5的早期版本中,xcodebuild可以在此上下文中在iOS模拟器上运行测试,但这从来都不是受支持的配置,并且正如您已经注意到Xcode 6不再有效.
与LaunchDaemons不同,LaunchAgents提供了一个上下文,您可以在其中运行GUI应用程序 - 如果用户当时使用窗口服务器/ Aqua会话登录.将Jenkins配置从LaunchDaemon转换为LaunchAgent将避免报告的问题.您还可以使用launchd从SSH会话在iOS模拟器上运行测试,方法是制作LaunchAgent并手动加载/启动它,或者使用"launchctl submit".
您是否尝试过使用Web代理?
mom*_*omo 12
万一有人错过了它.链接问题的答案解决了这个问题.基本上你需要跑步security -v unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN".我在构建之前运行它,并且代码签名成功.
| 归档时间: |
|
| 查看次数: |
16656 次 |
| 最近记录: |