我得到的错误证书身份不止一次出现在钥匙链中

当我得到这个错误,我检查了我的组织者窗口,并在我的名字中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,但这一步可能不是必要的):

  1. 创build一个新的KeyChain – 我叫我的login新
  2. 在“钥匙串”窗格中select新的钥匙串。
  3. 去文件 – >使钥匙串“login新”默认

在XCode Organizer中:

  1. 在“设备”窗格中,删除所有供应configuration文件

在开发人员configuration门户中:

  1. 撤销开发和分发证书

回到XCode组织者:

  1. 您应该有一个空白的configuration文件列表
  2. 点击刷新button
  3. XCode会提示你login到你的开发者帐户,然后它会问你是否要生成开发和分发证书,因为它找不到。
  4. 继续并生成它们。

回到terminal并从上面重新inputfind-certificate命令。 你不应该在这一点上看到任何重复。

下一步是修复您的configuration文件。 因此,请转到configuration门户并修改每个configuration文件。 回头看看Xcode组织者,并点击刷新button。

一旦configuration文件出现,您将需要重新关联代码签名身份在您的生成设置,以确保您不会得到代码签名错误。

你的应用程序现在应该build立并运行在你的设备上。

我的情况,我试图只看看login钥匙链没有成功。 当我打开系统钥匙串时,我发现有旧的(过期的)证书,它被复制。 删除重复的证书后,一切正常。

有同样的问题,但删除过期的证书是无济于事,Xcode启动的时候它再次popup!

在钥匙串访问中,在最左边的窗格中,在类别下有“我的证书”,还有另外一个条目:“证书”。 我从“我的证书”中删除了证书,但没有查看“证书”。 从“证书”中删除(过期的)证书也为我解决了。

如果在删除违规证书后仍然不能解决问题,请尝试执行“ Product > Clean 。 在我的情况下,即使在系统重新启动后,这也是必要的。

在我的情况下,隐藏的过期证书是重复的。 以上提示certificate有帮助!

我不断收到这个错误,即使我删除了重复。 最后我做了以下几点:

  1. 打开“钥匙串访问”并从“ My CertificatesCertificates部分删除重复的证书(只保留最新的My Certificates
  2. 转到密钥,并检查没有公钥的私钥在那里,如果是的话,删除它。
  3. 然后重新启动Xcode。

这解决了我的问题。