由于在调查过程中,我读过太多论坛(包含中文论坛。但不读,只看 ,文案,StackOverflow条目等,但无一个能够帮忙我。因此呢,我想为此问题创建修复程序编译。
在起始之前,您能够在下面找到我的方法。
我有一个Cordova应用程序,并经过Cordova CLI生成一个版本。但通常来讲,这与本机ios签名应用程序构建无什么区别。实质上,它正常工作,直到MacOS和XCode更新。
在Mojave和XCode 10更新之后,我没法在Jenkins上生成构建。在以下错误中连续显现。这完全是钥匙串和ipa签名证书关联的问题。
.......... errSecInternalComponent 命令/ usr / bin / codesign
失败,退出代码为1
咱们能够起始处理方法。您应该晓得这些平常处理方法位置于列表的开头。
平常处理方法1:检测有效证书
您应该检测正确添加有效苹果企业签名证书的钥匙串。您能够经过Keychain Access应用程序或以下命令经过终端执行此操作。
security find-identity -vp codesigning
您的证书必须在结果中。倘若无,请删除并再次将ios企业签名证书添加到钥匙串。
平常处理方法2:锁定和解锁钥匙串
另一种最平常的处理方法。在终端中运行以下命令。您应该添加自己的钥匙串名叫作和秘码。
security lock-keychain temp.keychain
security unlock-keychain -pp @ ssw0rd temp.keychain
在这种状况下,运用钥匙串名叫作为“temp”,其秘码为“p @ ssw0rd”。另外,您能够在以下命令中找到钥匙串的完整路径,并且能够运用它来代替钥匙串名叫作(temp)。
安全列表 - 钥匙串
平常处理方法3:重启设备
它能够被视为有趣,但这个处理方法在大都数网站上都很受欢迎。倘若添加新证书,则重新起步计算机会特别有用。您能够运用以下命令重新起步。
sudo重启
平常处理方法4:将Keychain秘码设置为分区列表
此处理方法是修复秘码提示问题。在某些状况下,从提示然则远程拜访等待密钥链秘码的协同设置无此功能。因此呢,一般,代码签名过程未成功完成。
security set-key-partition-list -S apple-tool :, apple :, codesign:-s -kp @ssw0rd /Users/ceyhunkeklik/Library/Keychains/temp.keychain-db
您能够运用“通用处理方法1”中描述的办法找到钥匙串的完整路径。
我案例的处理方法:检测并删除重复的私钥
就我而言,临时钥匙串有一个有效的证书及其私钥。我不晓得为何,但“系统”钥匙串有一个与我的有效证书关联的私钥。我检测了所有钥匙串中的所有私钥,并从不关联的钥匙串中删除了所有重复的密钥。另外,我已删除所有过期的证书,倘若有的话。
倘若无企业账号可借助第三方平台(如:ds.fubi.hk)得到苹果企业签名服务,这亦是一个不错的办法。