我们的自动化构建在Jenkins上运行。构建本身在从服务器上运行,从服务器通过SSH执行。
我得到一个错误:
00:03:25.113 [codesign-app] build/App.app: User interaction is not allowed.
到目前为止,我已经在这里的其他帖子中尝试了所有我看到的建议:
使用安全解锁列表- keychain在签名前立即解锁keychain.
在所有情况下,我都会得到相同的错误。
为了诊断这个问题,我尝试在我的本地终端上运行"security unlock- keychain“命令,发现它实际上并没有解锁密钥链-如果我查看密钥链访问,锁符号仍然在那里。无论我是在命令行上传递密码,还是让它提示我输入密码,都会出现这种情况。使用GUI解锁相同的钥匙链将提示我输入密码,然后解锁。此外,如果我运行"security lock-keychain",我确实在运行命令后立即看到了密钥锁。这让我认为unlock-keychain实际上并不起作用。我在Lion (我们将其用于构建从属程序)和Mavericks (我正在开发它)上经历了相同的行为。
接下来,我尝试将-v添加到所有安全命令中:
list-keychains "-d" "system" "-s" "/Users/tester/.secret/App.keychain"
Listing keychains to see if it was added: ((
"/Library/Keychains/System.keychain"
))
unlock-keychain "-p" "**PASSWORD**" "/Users/tester/.secret/App.keychain"
build/App.app: User interaction is not allowed.
从这一点上看,列表密钥链似乎是不起作用的。也许两个都不管用。:/
有一个similar question here。解决方案很有趣--在启动set中将"SessionCreate“设置为true。但是我不是在主机器上构建--我的构建过程是从从属构建机器上的SSH开始的。也许有一种命令行方法可以在运行"SessionCreate“时执行启动way正在做的事情?
https://stackoverflow.com/questions/20205162
复制相似问题