代码签名错误:证书身份在钥匙串中出现多次 [重复]

Posted

技术标签:

【中文标题】代码签名错误:证书身份在钥匙串中出现多次 [重复]【英文标题】:Code Sign Error: Certificate identity appears more than once in the keychain [duplicate] 【发布时间】:2012-03-05 14:00:38 【问题描述】:

可能重复:Code Sign error: Certificate identity 'iPhone Developer: My Name (xxx)' appears more than once in the keychain

我们有两个不同的开发者帐户(一个用于商店,一个用于企业)。企业账户后来来了。长篇大论

它们由两个不同的电子邮件/帐户管理。

我正在尝试允许一个具有两个不同目标的 XCode 项目根据我是在进行商店构建还是企业构建来为任一帐户签署我们的应用程序。问题是我从标题中收到错误消息。

它们是具有不同私钥的单独证书,所以我不明白为什么它们不能共存以及为什么 XCode 不能区分它们。

有什么方法可以让我在 XCode 中使用这些不同的证书/配置文件拥有两个不同的目标?

更新:根据我的评论,我能够为任一目标签署应用程序,但现在当我必须生成 IPA 时,我收到关于来自两个不同钥匙串的不明确证书的错误。 谢谢!

【问题讨论】:

我想出了如何解决这个问题。 1.将其中一个证书放入它自己的钥匙串中。在 XCode 中将“其他代码签名标志”设置为两个目标的正确钥匙串。 谢谢!我也遇到过同样的事情! @MobileGuy:成功了,非常感谢! 【参考方案1】:

这就是在 Lion 版本上对我有用的方法。 10.7.3 和 XCode 4.3.1,比回滚到 4.2 痛苦少得多!

在钥匙串访问中,确保您的“查看”菜单 > 显示过期证书选项已打开。

单击“证书”“类别”,然后单击“钥匙串访问”中“钥匙串”侧栏中列出的每个钥匙串。如果您看到任何重复项,甚至是过期的证书,请删除这些重复项。

在钥匙串访问中单击“钥匙”“类别”。

浏览每个钥匙串,查找并删除与受影响证书具有相同通用名称的任何“孤立钥匙”。孤立密钥是未通过披露三角形绑定到当前存在于钥匙串中的 iPhone 开发人员或 iPhone 分发证书的密钥。

如果您发现并删除了任何额外的密钥或证书,请重新尝试构建。

在此之后这对我有用 - 但包括以下来自 Apple 的部分,以防它不适合你。

如果在删除所有有效或过期的相同通用名称的重复证书或密钥后问题仍然存在,您可以尝试删除 所有 现有的签名证书和密钥,并使用以下步骤将它们替换为新的如何删除/撤销我的证书并重新开始?

最后,如果创建新证书后错误仍然存​​在,请在 Keychain Access 中按住 control 并单击受影响的证书,选择“New Identity Preference”并单击“Certificate”字段。

如果您看到此处列出的证书重复,则这是 Keychain Access 的一个已知且不常见的问题。

要解决此问题,请尝试以下操作: 使用转移您的身份中的流程导出您的开发者资料。 创建一个新的 OS X 用户帐户,为新用户安装 Xcode 并导入在上一步中创建的开发人员配置文件。

【讨论】:

【参考方案2】:

对我来说同样的问题。更新证书后(开发和分发)

要解决它,请使用钥匙串工具并按照后续步骤操作

    查看 --> 显示过期证书 选择钥匙串系统 选择类别所有项目

您应该会看到一些证书已过期,只需将其删除并重建即可。

希望有帮助

【讨论】:

以上是关于代码签名错误:证书身份在钥匙串中出现多次 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

我无法对我的 iOS 应用程序进行代码签名

分发多个企业应用程序

缺少 (null) 的 iOS 分发签名身份

iPhone 开发人员代码签名身份未在 iOS 7 中显示

为啥 Xcode 会在钥匙串中自动安装(重复和过期的)证书? [复制]

iOS模拟器上的代码签名错误