25

我被这个错误困住了:

代码签名错误:证书身份“iPhone 开发人员:我的姓名 (xxx)”在钥匙串中出现多次。协同设计工具只需要一个。

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

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

4

14 回答 14

19

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

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

Apple 解决它的步骤在这里:“如何解决 CodeSign 错误:证书身份在钥匙串中出现多次?

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

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

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

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

3) 重试构建。

于 2012-02-24T21:19:48.607 回答
5

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

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

于 2012-02-21T11:15:52.533 回答
2

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

于 2012-02-28T18:38:29.383 回答
2

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

于 2012-02-20T10:08:02.897 回答
2

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

于 2013-04-25T07:15:46.397 回答
1

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

于 2012-04-14T01:49:41.280 回答
1

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

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

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

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

于 2012-08-13T15:11:17.483 回答
1

这有时对我有用:

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

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

于 2012-08-23T13:12:59.303 回答
0

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

于 2013-08-13T17:44:29.517 回答
0

通过 Organizer -> Teams(选择您的团队)-> Refresh(右下角)修复它。

于 2013-04-10T09:45:02.573 回答
0

解决方案:

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

关联:

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

于 2012-08-03T16:44:38.690 回答
0

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

于 2013-09-11T18:27:50.357 回答
0

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

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

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

于 2012-02-20T10:02:48.733 回答