jenkins打包ios 报错rror: No signing certificate "iOS Distribution" found: No "iOS Distribution...
错误提示如图:
error: No signing certificate "iOS Distribution" found: No "iOS Distribution" signing certificate matching team ID "YQL2NV3V7T" with a private key was found. (in target 'HelloWorld')
** ARCHIVE FAILED **
从网上找到的答案大概都是这样的,试了也不管用:
jenkins 自动构建 IOS 包签名遇到问题
解决办法:
编译之前添加 security unlock-keychain -p "你的密码" "path to keychain/login.keychain"
根本原因是Jenkins,ssh方式到slave机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,所以添加一步输入密码解锁钥匙串,可以给Jenkins一个用户身份。 build步骤前添加一步解锁钥匙串。 security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain
修改过程:
是系统用户权限的问题
我把tomcat+jenkins放在root目录下
但是xcode配置的证书是在登录用户/User/wangju下的某个子目录
然后启动jenkins,.jenkins目录也是生成在/User/wangju目录下的
试着N多办法也不好用,最后我把jenkins的安装目录挪到了 /User/wangju/Library目录下,就好了
再启动tomcat,登录jenkins,执行打包命令,神奇的是,就可以打包成功了,现在还有点蒙,不过总算是搞定了这个问题。看到能打出xcarchive文件的一刹那,开心的想哭。从昨天下午7点左右一直到11点一直琢磨这个问题,再到今天11点 ,差不多7个小时了,总算不用重装系统搞定了它,开心一下吧。
附上一张tomcat的启动文件所在的路径
这个问题又复现了一次,解决方式如下:
- cd到tomcat文件安装目录
- 停止tomcat服务
- 启动tomcat服务
重启tomcat之后桌面上出现了这个java的图标,奇怪的是之前jenkins也能使用,但是桌面上并没有这个java图标啊?怀疑是我启动tomcat的方式出了问题,所以导致电脑重启后,影响了jenkins打包
貌似是这个原因导致的:
说明:我使用launch来启动的tomcat,程序执行都正常,但却没办法启动服务,权限修改都做了,但还是没有用。
----------------------分隔线----------------------
另外我还改了证书所在的 用户目录的权限,不知道有没有这个原因
选择 系统偏好设置>>共享 可以进行配置
我还把/User/xxx/Library/Keychains目录下的这些文件都挪到/var/root/Library/Keychains目录下,也试了,不过似乎是没有啥用,最后又把复制的文件删除了
现在我也不清楚做了这么多操作到底是哪一步影响了最终的结果呢,只是如果再遇到配置ios打包的问题,我是一定 一定不会乱改系统的配置文件了(在做配置前,我改了mac的计算机名,管理员用户名和家目录,但是很奇怪,我把管理员用户名已经改了abc了,在命令行显示的却始终是cba,不知道这个是不是导致我配置出错的原因。用户权限 什么的)
我觉得这种答案可能也是可以的,但没有试
注意:Credential 可以添加密码,jenkins如果在root用户下载的请改 /etc/sysconfig/jenkins 为root否则会报错;或者新建普通用户XXXX在修改
然后重启即可: service jenkins restart