10

可能重复:
代码签名错误:证书身份“iPhone 开发人员:我的姓名(xxx)”在钥匙串中出现多次

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

它们在两个不同的电子邮件/帐户下进行管理。

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

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

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

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

4

2 回答 2

15

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

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

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

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

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

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

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

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

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

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

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

于 2012-03-23T21:43:28.843 回答
3

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

要解决它,请转到钥匙串工具并按照以下步骤操作

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

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

希望有帮助

于 2012-08-02T16:10:51.783 回答