通过jenkins打包ipa包报错:Command CodeSign failed with a nonzero exit code(errSecInternalComponent)

描述 :

在打包机通过 xcode打包不报错

在打包机直接运行打包shell不报错

但是通过jenkin打包就会出现下面的错误 :

KitExtension.appex
/Users/5i5j/Library/Developer/Xcode/DerivedData/cbs_new5iwork-ebjitbdetyopmbadzpizhbztfpyw/Build/Intermediates.noindex/ArchiveIntermediates/cbs_new5iwork/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/CallKitExtension.appex: errSecInternalComponent
Command CodeSign failed with a nonzero exit code

 

出现这个问题的主要原因是是Jenkins,以ssh方式到slave机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份

(回忆了一下自己通过Xcode打包的过程中,的确是要求输入过登录密码,之后才打包成功的。没想到通过xcode打包成功之后,再使用shell脚本直接打包,也还需要输入登录密码才能打包成功)

解决办法

添加一步输入密码解锁钥匙串,可以给Jenkins一个用户身份。 build步骤前添加一步解锁钥匙串。

security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain

 

 

 

参考文档:

Jenkins构建IOS签名的时候提示errSecInternalComponent错误的解决方案

posted @ 2020-07-21 16:44  wangju003  阅读(2338)  评论(0编辑  收藏  举报