我得到的错误证书身份不止一次出现在钥匙链中
当我得到这个错误,我检查了我的组织者窗口,并在我的名字中find重复的身份我试图删除我的组织者窗口中的重复的身份。 但我无法select或删除它。请帮我删除这个重复的身份。
您的证书存储在您的钥匙串中。 只要打开钥匙串,寻找重复,然后重新启动 XCode。
我遇到了一个问题,旧证书不断重现,即使我在KeyChain Access上删除它。 解决scheme是删除所有使用来自XCode组织者的旧证书的供应configuration文件。
打开钥匙串访问。 在窗格左下方的类别下,select“我的证书”在主窗格中,您将看到重复的证书。 如果一个是无效的,它也会有一个红色的X. 删除它,重新启动Xcode,你很好去。
在“钥匙串访问”程序中的“查看”菜单下,select“显示过期证书” (如果菜单项中显示“隐藏过期证书”,则表示已经显示)。 然后,检查左侧列表中的每个钥匙串是否有重复的证书。 此外,对于每个钥匙串 ,一定要查看“证书”和“我的证书” (如果有)。
Xcode 4.3现在search所有的钥匙串来签名证书,但这会增加构build错误的频率:
证书身份(x)在钥匙串中出现多次…
苹果公司解决这个问题的步骤如下:“ 如何解决CodeSign错误:证书身份在钥匙串中出现多次?
但是,如果您受到本指南最后一个注释中提到的钥匙串问题的影响,以下是对问题的更简单和首选的解决scheme:
1)钥匙串访问>编辑>钥匙串列表,取消选中login钥匙串的“共享”。
2)接下来,如果回到钥匙串列表中,您发现login钥匙串仍然被标记为共享,创build以下文件的备份,如果它们存在,则删除它们:
/Library/Preferences/com.apple.security-common.plist ~/Library/Preferences/com.apple.security.plist
3)重试你的构build。
升级到XCode 4.3后,我有这个确切的问题。 构build过程保持失败,在KeyChain Access中,我确信我只有一个开发证书。 网上没有太多的帮助,但如何解决它,但我设法解决这个问题,用下面的方法。 请注意,我不知道这是否会在老版本的Xcode上工作,但最好的办法是让Xcode照顾整个过程。
首先是检查你是否确实有重复的证书。
打开terminal并input这个命令:
sudo /usr/bin/security find-certificate -a -Z -c "iPhone Developer" | grep SHA-1
如果您看到多个相同的SHA-1散列,那么您确实有重复,我们需要删除它们。
在KeyChain访问(我还没有validation,但这一步可能不是必要的):
- 创build一个新的KeyChain – 我叫我的login新
- 在“钥匙串”窗格中select新的钥匙串。
- 去文件 – >使钥匙串“login新”默认
在XCode Organizer中:
- 在“设备”窗格中,删除所有供应configuration文件
在开发人员configuration门户中:
- 撤销开发和分发证书
回到XCode组织者:
- 您应该有一个空白的configuration文件列表
- 点击刷新button
- XCode会提示你login到你的开发者帐户,然后它会问你是否要生成开发和分发证书,因为它找不到。
- 继续并生成它们。
回到terminal并从上面重新inputfind-certificate命令。 你不应该在这一点上看到任何重复。
下一步是修复您的configuration文件。 因此,请转到configuration门户并修改每个configuration文件。 回头看看Xcode组织者,并点击刷新button。
一旦configuration文件出现,您将需要重新关联代码签名身份在您的生成设置,以确保您不会得到代码签名错误。
你的应用程序现在应该build立并运行在你的设备上。
我的情况,我试图只看看login钥匙链没有成功。 当我打开系统钥匙串时,我发现有旧的(过期的)证书,它被复制。 删除重复的证书后,一切正常。
有同样的问题,但删除过期的证书是无济于事,Xcode启动的时候它再次popup!
在钥匙串访问中,在最左边的窗格中,在类别下有“我的证书”,还有另外一个条目:“证书”。 我从“我的证书”中删除了证书,但没有查看“证书”。 从“证书”中删除(过期的)证书也为我解决了。
如果在删除违规证书后仍然不能解决问题,请尝试执行“ Product > Clean
。 在我的情况下,即使在系统重新启动后,这也是必要的。
在我的情况下,隐藏的过期证书是重复的。 以上提示certificate有帮助!
我不断收到这个错误,即使我删除了重复。 最后我做了以下几点:
- 打开“钥匙串访问”并从“
My Certificates
和Certificates
部分删除重复的证书(只保留最新的My Certificates
) - 转到密钥,并检查没有公钥的私钥在那里,如果是的话,删除它。
- 然后重新启动Xcode。
这解决了我的问题。