代码签名错误:证书标识“iPhone Developer: My Name (xxx)”在钥匙串中出现多次。codesign工具要求只有一个。
我尝试更新构建新的CSR,删除旧的证书,再次构建新的证书,反复尝试,但仍然存在此错误。
在钥匙串中,我没有看到任何重复的证书,如果我删除唯一能看到的证书,Xcode就会抱怨找不到该证书...
Xcode 4.3现在会搜索所有钥匙串以查找签名证书,但这会增加构建错误的频率:
Certificate identity (x) appears more than once in the keychain...
苹果的解决步骤在这里:如何解决CodeSign错误:Certificate identity appears more than once in the keychain?
然而,如果您受到该指南最后注意事项中提到的钥匙串 bug 的影响,以下是一个更简单且更优选的解决方案:
1)钥匙串访问 > 编辑 > 钥匙串列表,对于登录钥匙串,请取消“共享”复选框。
2)接下来,如果返回钥匙串列表时发现登录钥匙串仍标记为“共享”,请备份以下文件(如果存在),然后将其删除:
/Library/Preferences/com.apple.security-common.plist
~/Library/Preferences/com.apple.security.plist
3) 重试您的构建。
我曾经遇到过同样的问题,解决方法是从我的钥匙串中删除所有证书,从Xcode中删除所有配置文件,从设备中删除所有配置文件,然后重新创建。 我猜这通常发生在您使用不同配置文件并为同一配置文件创建了多个证书时。
这个方法有时对我有效:
然后重新构建。在我遇到这个错误无数次后,这个方法在本分钟内对我起作用了。
我有同样的问题。我查看了SO上能找到的每个相关问题并按照步骤操作,但都没有成功。它一直告诉我我的分发证书出现了多次,但我可以看到它只出现了一次。我吊销了证书,多次关闭了X-Code,但结果发现还有一个“隐藏”的证书。我有一个旧的分发证书不在登录钥匙串中。它在一个未命名的钥匙串中。当我删除那个证书时,它就起作用了!所以值得彻底查看密钥串访问情况!
在迁移到新的开发 Mac 后,我遇到了这个问题。我尝试删除重复项并检查是否存在隐藏的过期证书,但错误仍然存在。对我起作用的解决方案是从旧 Mac 复制密钥链对并将其导入新的 Mac 中。然后通过以下方式解决了该问题:
对我来说,随后我成功地重建了该应用程序。
希望能帮助到某些人 :-)
我删除了所有证书和配置文件,重新启动系统并再次添加它,这样就可以了。