【问题标题】:Code Sign error: Certificate identity 'iPhone Developer: My Name (xxx)' appears more than once in the keychain代码签名错误:证书身份“iPhone 开发人员:我的姓名(xxx)”在钥匙串中出现多次
【发布时间】:2012-03-10 16:22:07
【问题描述】:

我被这个错误困住了:

代码签名错误:证书身份“iPhone Developer: My Name (xxx)”在钥匙串中出现多次。协同设计工具只需要一个。

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

在钥匙串中我没有看到任何重复的证书,如果我删除了钥匙串中唯一能看到的证书,Xcode 会抱怨找不到证书...

【问题讨论】:

  • (作为对 Inder Kumar 答案的修正)然后单击刷新。此外,不要只查看开发计算机的钥匙串 - 查看设备上存储的内容(在 Xcode 管理器中)并清理它。

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


【解决方案1】:

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 步和第 2 步,但不行,我会在星期一尝试第 3 步和第 4 步,是的,我使用 XCode 4.3
  • 从上面提到的 Apple 文档中删除孤立的“密钥”对我有用。
  • 我发现在钥匙串访问>系统中删除了一个证书后,它仍然在“登录”类别中找到。从“登录”中删除它后,一切都像魅力一样!谢谢你,你拯救了我的一天。
【解决方案2】:

在将 XCode 更新到 4.3 后,我遇到了同样的问题。删除证书和配置文件并没有改变任何东西。反正没有重复或过期的。

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

【讨论】:

  • 谢谢,这是最有帮助的,因为我完全忘记查看导致我出现问题的系统钥匙串。谢谢!
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    我也遇到了同样的问题。我认为您可以通过多种方式达到这种状态,但对我来说,这是因为证书最近过期了。
    我没有意识到钥匙串访问会隐藏过期的证书。进入“查看”下方,确保您没有隐藏重复的证书。

    【讨论】:

      【解决方案5】:

      如果您已经删除了 KeyChain 中的所有其他开发人员证书并且错误仍然出现,请尝试删除所有旧的/未使用的密钥(私钥)以及您的姓名。必要的是,它的名称旁边有一个小“文件夹增强器图标”。保留这个并删除其余的为我修复它。

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题。我检查了我可以在 SO 上找到的所有相关问题并按照步骤操作 - 但没有运气。它一直告诉我我的分发证书出现了不止一次,但我可以看到它只出现了一次。我多次撤销证书并关闭 X-Code,但结果发现有一个“隐藏”的证书。 我有一个旧的分发证书,它不在登录钥匙串中。它在一个未命名的钥匙串中。当我删除那个时,它起作用了!因此,值得彻底了解钥匙串访问!

        【讨论】:

          【解决方案7】:

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

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

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

          希望对某人有所帮助:-)

          【讨论】:

            【解决方案8】:

            这有时对我有用:

            • 删除您可以从钥匙串中看到的所有重复项(通常这一步本身对我没有帮助)
            • 然后也删除(或至少暂时重命名/移动 ~/Library/Developer/Xcode 文件夹。Xcode 保留旧垃圾/缓存在那里。我猜配置文件存在那里。浪费 em。(请注意,此文件夹的路径是在 Xcode 首选项中可更改,因此如果您更改了路径,请转到那里并删除内容。)

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

            【讨论】:

              【解决方案9】:

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

              【讨论】:

              • 然后点击刷新。此外,不要只查看开发计算机的钥匙串 - 查看设备上存储的内容(在 Xcode 管理器中)并清理它。
              • @rokjarc 请对他的问题发表评论,以便他收到通知。谢谢
              • 组织者证书?在哪里 ?我只在管理器中看到“配置文件”。而且我已经在设备上完成了所有可能的清理工作(只有一个 prov 配置文件存在)
              • 然后从钥匙链中清除所有证书并从 xcode org 中删除所有 mob pov。并且只安装那些必要的东西,如果仍然出现这个问题,那么对不起,我无能为力。
              【解决方案10】:

              解决方案:

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

              链接:

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

              【讨论】:

                【解决方案11】:

                我在使用 XCODE 4.5 时遇到了这个问题,因为 Organizer 仍在保留开发人员证书。

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

                【讨论】:

                  【解决方案12】:

                  由组织者修复 -> 团队(选择您的团队)-> 刷新(右下角)。

                  【讨论】:

                    【解决方案13】:

                    我删除了所有证书和配置文件并重新启动系统并再次添加它,它起作用了。

                    【讨论】:

                      【解决方案14】:

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

                      【讨论】:

                        猜你喜欢
                        • 2012-09-05
                        • 1970-01-01
                        • 2012-08-03
                        • 2012-07-10
                        • 2011-07-25
                        • 1970-01-01
                        • 1970-01-01
                        • 2012-03-20
                        相关资源
                        最近更新 更多