Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios trong>EDIT(2013年12月5日):这是因为Jenkins服务无法访问钥匙链。例如,在Jenkins作业中,在运行构建脚本之前解锁钥匙链,对其进行排序。(可能不是最优雅的解决方案,但至少它证明了不在脚本中的问题:)_Ios_Xcode_Cordova_Xcodebuild_Xcrun - Fatal编程技术网

Ios trong>EDIT(2013年12月5日):这是因为Jenkins服务无法访问钥匙链。例如,在Jenkins作业中,在运行构建脚本之前解锁钥匙链,对其进行排序。(可能不是最优雅的解决方案,但至少它证明了不在脚本中的问题:)

Ios trong>EDIT(2013年12月5日):这是因为Jenkins服务无法访问钥匙链。例如,在Jenkins作业中,在运行构建脚本之前解锁钥匙链,对其进行排序。(可能不是最优雅的解决方案,但至少它证明了不在脚本中的问题:),ios,xcode,cordova,xcodebuild,xcrun,Ios,Xcode,Cordova,Xcodebuild,Xcrun,因此,我终于让一切正常工作了……:D Jenkins抱怨“codesign…”运行失败的问题是MacOS(配置)问题 关键是让詹金斯夫妇能够访问系统的钥匙链Jenkins用户登录shell的允许访问权限与在Jenkins用户帐户(!)下运行的Jenkins服务器进程不同。 现在,我通过在运行构建脚本之前在Jenkins作业中运行login.keychain的解锁来实现这一点 比如:“执行shell”的詹金斯工作 这可能不是100%最好的解决方案,但目前它是有效的:p 另请参见:[1]:另一个观察

因此,我终于让一切正常工作了……:D

Jenkins抱怨“codesign…”运行失败的问题是MacOS(配置)问题

关键是让詹金斯夫妇能够访问系统的钥匙链Jenkins用户登录shell的允许访问权限与在Jenkins用户帐户(!)下运行的Jenkins服务器进程不同。

现在,我通过在运行构建脚本之前在Jenkins作业中运行login.keychain的解锁来实现这一点

比如:“执行shell”的詹金斯工作

这可能不是100%最好的解决方案,但目前它是有效的:p


另请参见:[1]:

另一个观察结果(可能还有解释(?)如果我用复制命令等替换“sleep”,我会从该副本中得到一个错误,即“cordova build…”正在创建的应用程序文件夹将不存在!?!事实上——后来——它确实存在。这就是为什么在等待一段时间(“睡眠”)后,它成功了。所以对我来说,‘cordova’似乎不是同步命令(!)意味着:如果它退出(像‘0’),它仍然没有完成!!!听起来合乎逻辑???顺便说一句:我只是在一台速度更快的机器上运行,它有一个功能更强大的CPU和一个SSD,而不是普通的HD。在这样一台速度更快的机器上,所遇到的问题根本不会显示出来。但在我看来,这仍然是cordova中的一个bug……甚至更奇怪:创建了一个出现故障的机器映像,并用该磁盘映像引导功能更强大的机器,问题也在这里出现了!?所以这一定是特定机器/磁盘的MacOS设置的问题(如果出现故障)?奇怪!由于我不是MacOS专家,而且时间紧迫,我在这里放弃:|还有一点需要提及:进一步分析(通过'dtrace'显示,cordova正在调用一个脚本,它本身将启动2个'xcrun…'进程(一个用于设备包/构建,一个用于模拟器包/构建)。但是我们看到,该脚本在某个时间点会被“杀死”信号,这就是为什么第一个xcrun返回到PPID 1(init:),第二个xcrun永远不会执行…并且cordova退出,而第一个xcrun仍然没有完成。添加
code\u SIGN\u IDENTITY=“”CODE\u SIGNING\u REQUIRED=NO到ios平台目录中的build.xcconfig文件似乎可以解决这个问题。呃,这样就不会有其他人花费数小时来解决这个问题了……如果您是从SSH构建的,同样的事情也适用!如果没有特殊措施,安全密钥链解锁无法正常工作!
#!/bin/bash
cordova build ios --release
sleep 5
sh -c "xcrun ..."
#!/bin/bash
[...]
cordova build ios --release
signaturefile="platforms/ios/build/device/$appname/_CodeSignature/CodeResources"
echo DEBUG:signatur file is $signaturefile

while [ ! -f $signaturefile ]
do
  echo waiting
  sleep 1
done
xcrun ...
security unlock-keychain -p password /Users/Shared/Jenkins/Library/Keychains/login.keychain
echo ##### building now ######################
./buildit.sh ios --release -v