代码签名错误:证书标识 'iPhone Developer: XXXX (12345678)' 在密钥链中出现多次。codesign 工具要求只有一个。
所以我进入我的密钥链并将其删除。但每次我重新启动 Xcode 4 并且某个应用程序将过期的旧证书添加回到密钥链中时,我都会遇到此错误。有什么想法是哪个应用程序导致的吗?
代码签名错误:证书标识 'iPhone Developer: XXXX (12345678)' 在密钥链中出现多次。codesign 工具要求只有一个。
所以我进入我的密钥链并将其删除。但每次我重新启动 Xcode 4 并且某个应用程序将过期的旧证书添加回到密钥链中时,我都会遇到此错误。有什么想法是哪个应用程序导致的吗?
我刚刚在我的密钥链中删除了一个证书的私钥,因为我不再需要它。
即使证书重新出现,但私钥不会重新出现。现在检查有效证书,只会出现一个证书,而其私钥被删除的其他证书将不再显示在有效证书下面。
我认为这是解决此问题的最简单方法。
我曾经也遇到过同样的问题。我通过从xcode的组织者选项卡中删除未使用的配置文件来解决它。实际上,Keychain将从此配置文件获取证书,该证书可能是已过期的证书或被撤销的构建证书。
因此,您只需从组织者选项卡中删除此配置文件即可。组织者位于xcode右上方的按钮上,打开它,然后删除您不使用的配置文件。
这是截图:
不要忘记从钥匙串中删除额外的证书,但之后这些证书就不会再出现了。
简单地删除多余的证书对我没有用。每次调用xcodebuild时,它似乎都会从某个缓存中“重新创建”密钥链中的证书...与avi遇到的问题相同。我为此创建了一个hack/修复程序,试图找到文件被缓存的位置并清除它,但没有成功。最终,对我有用的是(有点hack,但嘿,还能做什么),找出证书编号,并在xcodebuild调用后不久手动将其从密钥链中删除。首先,转到您的/usr/bin/目录(或具有xcodebuild文件的任何目录,请尝试which xcodebuild
)并运行以下命令:
sudo mv xcodebuild xcodebuild_actual
然后使用您喜欢的编辑器(不要忘记sudo)创建一个文件,并添加以下代码:
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
sudo chmod 755 xcodebuild
非常简单,将正确的证书导出到您的桌面。在钥匙串中删除该证书。尝试使用错误消息构建源代码(没有证书..)然后再次导入证书。 => 成功!