代码签名错误:证书身份'iPhone开发人员:我的名字(xxx)'在钥匙串中出现不止一次

时间:2012-02-20 10:00:49

标签: iphone ios xcode code-signing xcode4.3

我坚持这个错误:

代码签名错误:证书身份'iPhone开发人员:我的名字(xxx)'在钥匙串中出现不止一次。代码签名工具只需要一个。

我尝试更新构建新的CSR,删除旧证书,一次又一次地构建新证书,此错误仍然存​​在

钥匙串中的

我没有看到任何重复的证书,如果我删除了钥匙串中唯一可以看到的证据,Xcode会抱怨证书无法找到......

14 个答案:

答案 0 :(得分:19)

Xcode 4.3现在搜索所有钥匙串以签署证书,但这会增加构建错误的频率:

  

证书身份(x)在钥匙串中出现多次......

Apple解决问题的步骤如下: “How do I resolve the CodeSign error: Certificate identity appears more than once in the keychain?

但是,如果您受到该指南最后说明中提到的钥匙串错误的影响,以下是更简单且首选解决问题的方法:

1)钥匙串访问>编辑>钥匙串列表,取消选中登录钥匙串的“共享”。

2)接下来,如果回到钥匙串列表,您会发现登录钥匙串仍然标记为已共享,创建以下文件的备份,如果存在则将其删除:

/Library/Preferences/com.apple.security-common.plist
~/Library/Preferences/com.apple.security.plist

3)重试您的构建。

答案 1 :(得分:5)

将XCode更新为4.3后,我遇到了同样的问题。删除证书和配置配置文件没有任何改变。无论如何,没有重复或过期的。

原来问题是我的私钥在会话和密钥链访问中的系统密钥链中。 我只需将其从系统钥匙串中删除,我就可以再次构建我的项目。

答案 2 :(得分:2)

我遇到了同样的问题,我修复了它从我的钥匙串中删除了每个证书,从我的Xcode中提供的每个配置以及我设备上的每个配置文件,然后再次重做它。 我想,这通常发生在使用不同的配置文件时,并且您已为同一配置创建了许多证书。

答案 3 :(得分:2)

我也有同样的问题。我认为你可以通过各种方式进入这个州,但对我来说,这是因为证书最近已经过期了 我没有意识到Keychain Access将隐藏过期的证书。转到“查看”下,确保您没有隐藏重复的证书。

答案 4 :(得分:2)

如果您已经删除了KeyChain中的所有其他开发人员证书并且错误仍然存​​在,那么请尝试删除所有旧/未使用的密钥(私钥)。必要的是,在其名称旁边有一个小“folder-enhancer-icon”。保留这个并删除其余部分为我修复了它。

答案 5 :(得分:1)

我遇到了同样的问题。我检查了我在SO上找到的所有相关问题并按照步骤进行 - 但没有运气。它一直告诉我,我的发行证书出现不止一次,但我可以看到它只出现过一次。我多次撤销证书并关闭X-Code,但事实证明有一个“隐藏”证书。 我有一个旧的分发证书,不在登录密钥链中。这是一个未命名的钥匙串。当我删除那个,它工作了!所以值得仔细研究钥匙串的访问权限!

答案 6 :(得分:1)

转移到新的开发mac后,我遇到了这个问题。我尝试删除重复项并检查没有隐藏的过期项,但错误仍然存​​在。对我有用的解决方案是从旧mac复制钥匙串对并将其导入新mac。然后用以下方法解决了这个问题:

  • 在Keychain Access
  • 中选择证书
  • 展开箭头以查看私钥
  • 双击私钥
  • 单击“访问控制”
  • 选择“允许所有应用程序使用此项目”
  • 点击保存更改

对我来说,我当时能够成功重建该应用程序。

希望能帮到某人: - )

答案 7 :(得分:1)

这有时适用于我:

  • 删除您可以从钥匙串中看到的所有重复项(通常此步骤本身对我没有帮助)
  • 然后还删除(或者至少暂时重命名/移动〜/ Library / Developer / Xcode文件夹.Xcode在那里保留旧的垃圾/缓存。我猜那里有配置文件。废弃它们。(注意这个文件夹的路径是在Xcode prefs中可以改变,所以如果你改变了路径,那就转到那里去删除东西。)

然后重建。在第一百万次出现此错误后,这一分钟为我工作。

答案 8 :(得分:0)

尝试从xcode管理器中删除证书。

答案 9 :(得分:0)

解决方案:

在钥匙串中: 我发现,如果你切换到左侧的“所有项目”视图,删除似乎每次都有效。但也许这只是盲目的运气。即使它失败了,在“所有项目”和“我的证书”之间来回切换的行为似乎迫使KA刷新视图,并告诉你删除是否“有效”:

链接:

http://viggnesh.com/blog/problem-faced/

答案 10 :(得分:0)

我在XCODE 4.5中遇到过这个问题,因为Organizer仍然保留着开发人员证书。

  • 从Organizer
  • 删除了所有配置文件
  • 从KeyChain中删除所有开发者证书 - 同时显示已过期列表
  • 关闭XCode
  • 下载开发证书
  • 安装供应配置文件
  • 清理构建
  • 检查组织者证书清单并确保您有一个
  • 检查钥匙串以确保您获得一个证书
  • 存档

答案 11 :(得分:0)

通过管理器修复它 - >团队(选择你的团队) - >刷新(右下角)。

答案 12 :(得分:0)

我删除了所有证书和配置文件,然后重新启动系统并再次添加,它运行良好。

答案 13 :(得分:0)

移动另一个cer。从“登录”到“系统”...并且不要删除它... 相信我