Xcode 4-重新安装我删除的钥匙串证书


85

我收到此错误:

CodeSign错误:证书身份“ iPhone开发人员:XXX”在钥匙串中出现多次。代码签名工具只需要一个。

不过,起初我并不担心,我将进入钥匙串并删除重复的(较旧的)钥匙串,就像我所做的那样。我回去了,关闭了Xcode,重新打开了Xcode和项目,同样的错误。我虽然对我自己。回到钥匙串,证书再次出现。我删除这两个证书,重复并注意项目加载时,我删除的两个证书会弹出钥匙串。

经过大量搜索之后,我确保我的系统钥匙串中没有证书,而我没有。还做了一个清洁和重建。当我使用Xcode 3进行重复时,我可以清理钥匙串重复项,我感觉很好。但是使用Xcode 4,当我打开项目时,它实际上只是以某种方式重新安装了它们。我什至删除了系统中的所有.cer文件,可能是从中提取了这些文件。

有什么建议么?


1
干杯。有同样的问题。:)
RedBlueThing 2011年

有同样的问题。发生这种情况是因为钥匙串无法正确删除证书,并且您有可能出现2个证书(但其中一个无效)的情况。只需在“钥匙串”应用中删除无效内容,即可正常运行。但这是临时解决方案。:(
Sergey Kopanev 2012年

Answers:


103

解决的方法是进入管理器-在“库”下-设置配置文件,删除所有配置文件,然后重新安装我仍然需要的所有配置文件。


对!我可以确认这项工作。即使我一直删除钥匙串中的那个,它仍然会重新出现。从组织者删除旧的“配置文件”后,一切正常。谢谢!:)
RoLYroLLs 2011年

1
也为我工作!谢谢!我认为XCode4试图做的是将开发证书插入到您的prov概要文件的钥匙串中,即使开发证书已过期,这些配置文件也会丢失它们。
iphone007 2011年

5
另外,如果续订了开发证书,请记住要重新生成配置文件。我没有,当我重新添加旧的prov个人资料时,相关的已过期dev cert重新插入了钥匙串D'oh!
iphone007

请注意,我以某种方式删除了尝试删除配置文件的登录钥匙串。不知道这是怎么发生的,因为我很确定当我按下Delete键时,钥匙串列表区域已经聚焦。删除前请备份,并小心。
AVANCE

这是有帮助的,但是就像其他人所说的那样,您实际上需要转到钥匙串并删除过期的开发人员证书,而不仅仅是供应配置文件。
罗恩·斯雷布罗

33

我遇到了同样的问题,上面的解决方案没有解决我的问题(差不多解决了)。

我有一个重复的开发人员ID /证书,每个人都在抱怨,我尝试删除我的所有配置文件,吊销/重新发布我的证书,确保系统钥匙串中没有证书,重新启动等。

最后,它竟然有在系统钥匙串,一个曾经的证书过期,因此被默认列表中隐藏。

确保您可以在KeyChain中看到过期的证书

去做这个:

  1. 打开 钥匙串访问
  2. 请点击 查看菜单
  3. 请点击 显示过期的证书
  4. 然后查找并删除过期的开发人员证书

太棒了,您真是个天才。我已经完成了所有列出的所有事项。您帮助我解决了数月之久的问题。上帝祝福你!
Bushra Shahid 2012年

1
原来,我在系统钥匙串下有一个过期的证书。这帮助我找到了它!谢谢!
christopher_f 2012年

11

Xcode 4具有一项新功能“自动设备配置”。它位于组织者中的库/配置文件下。如果启用了此功能,它将自动从Apple开发人员配置服务器下载您的配置文件,因此会出现重复的错误。解决此问题的最简单方法是删除所有供应配置文件,然后按刷新以刷新“自动设备供应”。这将从服务器加载您的配置文件,并解决您的问题。


谢谢你 我已经删除了我的配置文件,并使用自动设备配置来找回它们,问题就消失了。
Sasho

这是最新的解决方案,对我
有用

7

如果您想弄乱钥匙串访问权限以删除过期的证书,则可以尝试以下操作:

  • 创建一个新的钥匙串,将其命名为“ expired”,然后将过期的证书移到其中。
  • 当要求选择“删除引用和文件”时,删除包含过期证书的新创建的“过期”钥匙串。

过期的证书与钥匙串一起消失。对我来说效果很好。


6
  1. 从XCode Organizer删除所有预配配置文件;
  2. 从钥匙串访问中删除旧的开发人员证书;
  3. 仅使用正确的开发人员证书生成配置文件;
  4. 下载并安装新的配置文件;

-编辑-

合并@Codezy的答案和@ iphone007的评论。


您的回答并不能解决我的问题,实际上我已经多次删除了开发人员证书和配置文件,但是总是会重新安装旧的开发人员证书。但是@ iphone007的评论很有帮助,我将它们合并在一起..
Ming先生

2

此外,在Organizer的库中删除配置文件,还应该在Keychain Access中删除iPhone开发人员证书。(证书的名称可能类似于“ iPhone Developer:XXXXX ...”,并用红色X标记表示,已过期)


只是在管理器中删除并重新安装配置文件并没有帮助,但是您关于从钥匙串中删除过期配置文件的建议对我来说已解决了,谢谢!
gulchrider 2012年

2

我花了半天时间,终于找到了解决方案

  1. 打开KeyChain Access.app
  2. 在“钥匙串”应用程序屏幕左侧的“钥匙串”菜单中选择“系统”
  3. 在“类别”下拉菜单中选择“证书”
  4. 删除所有旧的认证。

然后关闭Keychain.app并转到Xcode-> Organizer

  1. 在“库”菜单中删除所有预配配置文件
  2. 在设备菜单中删除所有配置文件
  3. 在“库”菜单->“配置文件”中按“刷新”按钮
  4. 向您的设备添加需要的配置文件

再次构建您的应用程序:)


1

为了后代,以下是在我们的自动构建脚本中解决此问题的策略:

  1. 构建之前,请移动〜/ Library / MobileDevices / Provisioning配置文件目录一边
  2. 检查是否iPhone配置实用程序是否正在运行并关闭它(如果打开了该应用程序,则证书始终会再次出现。在XCode 4.1中,您也需要关闭管理器。)
  3. 运行你的构建
  4. 移动配置文件目录移回
  5. 利润?

1

我已经尝试了这里建议的所有内容,但是对我来说没有任何用处,除非重新安装XCode 4.3可以解决问题。


1

在4.6.1中找到了解决此问题的简便方法。您可以执行此操作而无需重新启动任何内容或删除任何配置文件!

打开“钥匙串访问”并打开您的Xcode项目:

  1. 在Xcode中,打开管理器-“设备”,然后选择带有重复证书的“团队”。
  2. 切换到“钥匙串访问”并删除旧的重复证书。注意:确保打开“显示过期的证书”,不要错过任何证书。
  3. 证书将从Xcode Organizer的“团队”配置文件中消失。
  4. 清理项目并进行构建。

希望能帮助到你!


0

上述方法不适用于我的情况

最后,我去钥匙扣

并通过输入名称搜索关键字

我终于找到了应该删除的证书。然后我删除了它,问题解决了

这真的很令人沮丧,我不知道这是否是错误.......真的很累。


0

引用这个问题的重复答案,只有重新启动OS X才能解决Xcode在此领域的一些错误。

最后,通过删除此问题的任何答案中提到的所有内容,重新启动,然后手动安装所需的部件,我取得了成功(我不信任/尝试自动配置文件/证书下载功能)。


0

对于@AndreasPrang来说,这是值得的,而上述所有条件都不起作用时,您的答案会起作用。我可以看到过期的证书不在钥匙串中的任何地方,但是当我进行构建时,Xcode表示已经存在。删除配置文件(全部),在“团队”部分中选择我的名字并单击组织者右下方的刷新图标也无济于事。重新启动Xcode并没有帮助,但是关闭XCode,删除〜/ Library / Developer / Xcode可以。当我重新启动XCode时,它重建了所有内容并感到很高兴。



0

刚安装了Xcode 4.6.1,然后再次开始出现此问题。上一次是很久以前了。我删除了旧的配置文件和证书,但仍然无法构建。

这次事实证明,在开发人员门户的团队帐户中为我列出了2个证书。第一个过期,第二个没有过期。Xcode在刷新(或可能同时刷新)时一直抓住它找到的第一个。

我从钥匙串中删除了这两个证书,然后从Apple门户手动下载了好证书,然后将其手动添加到了钥匙串中。现在,我可以再次构建。

(然后我向团队管理员发送了删除旧证书的请求。)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.