【问题标题】:Xcode 4 -reinstalls keychain certs that I deleteXcode 4 - 重新安装我删除的钥匙串证书
【发布时间】:2011-07-12 23:27:41
【问题描述】:

我收到此错误:

CodeSign 错误:证书身份 'iPhone Developer: XXX' 出现更多 不止一次在钥匙串中。这 协同设计工具只需要 一个。

不过,起初我不用担心,我会进入钥匙串并删除重复的(旧的)钥匙串,我这样做了。我回去,关闭 Xcode,重新打开 Xcode 和项目,同样的错误。我想我自己。回到钥匙串,证书又在那里了。我删除了两个证书,重复,并在项目加载时注意到,我删除的两个证书弹回了钥匙串。

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

有什么建议吗?

【问题讨论】:

  • 干杯。有同样的问题。 :)
  • 有同样的问题。发生这种情况是因为 Keychain 没有正确删除证书,并且出现 2 个证书(但一个无效)时会出现这种情况。只需在钥匙串应用程序中删除无效,这将正常工作。但这是临时解决方案。 :(

标签: xcode xcode4 code-signing


【解决方案1】:

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

【讨论】:

  • 是的!我可以确认这是有效的。即使我一直在删除钥匙串中的那个,它仍然会再次出现。一旦我从 Organizer 中删除了旧的 Provisioning Profiles,一切都正常了。谢谢! :)
  • 对我也有用!谢谢!我认为 XCode4 正在尝试做的是将开发证书插入到您的钥匙串中,以便即使开发证书已过期,也会丢失它们的 prov 配置文件。
  • 如果您更新了您的开发证书,请记住重新生成您的配置文件。我没有,当我重新添加旧的 prov 配置文件时,相关的过期开发证书被重新插入钥匙串,D'oh!
  • 小心,我以某种方式删除了我的登录钥匙串,试图删除配置文件。不知道这是怎么发生的,因为我很确定当我点击删除时钥匙串列表区域有焦点。删除前备份,小心。
  • 这很有帮助,但就像其他人所说的那样,您实际上需要去钥匙串并删除过期的开发人员证书,而不仅仅是配置文件。
【解决方案2】:

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

【讨论】:

  • 谢谢。我已经删除了我的配置文件并使用自动设备配置将其取回,问题就消失了。
  • 这是最新的解决方案,对我有用(在尝试其他解决方案后,它们似乎已经过时了)
【解决方案3】:
  1. 从 XCode Organizer 中删除所有 Provisioning Profiles;
  2. 从钥匙串访问中删除旧的开发者证书;
  3. 仅使用正确的开发人员证书生成配置文件;
  4. 下载并安装新的配置文件;

-- 编辑--

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

【讨论】:

  • 您的回答并没有解决我的问题,实际上我已经多次删除了开发人员证书和配置文件,但总是重新安装旧的开发人员证书。但是@iphone007 的评论很有帮助,我只是将它们合并....
【解决方案4】:

删除 Organizer 库中的配置文件,此外,您应该删除 Keychain Access 中的 iPhone 开发人员证书。 (证书的名字大概是“iPhone Developer: XXXXX ...”,用红色的X符号表示,过期了)

【讨论】:

  • 只是在管理器中删除并重新安装配置文件并没有帮助,但是您从钥匙串中删除过期配置文件的建议为我解决了这个问题,谢谢!
【解决方案5】:

如果你想弄乱钥匙串访问来删除过期的证书,你可以试试这个:

  • 创建一个新的钥匙串,将其命名为“已过期”并将过期的证书移到其中。
  • 删除新创建的“过期”钥匙串,其中过期证书,当询问时选择“删除引用和文件”。

过期的证书与钥匙串一起消失。非常适合我。

【讨论】:

    【解决方案6】:

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

    1. 在构建之前,将 ~/Library/MobileDevices/Provisioning Profiles 目录移到一边
    2. 检查 iPhone 配置实用程序 是否正在运行并关闭它(如果此应用程序打开,证书总是会重新出现。在 XCode 4.1 中,您也需要关闭管理器。)
    3. 运行构建
    4. Provisioning Profiles 目录移回
    5. 利润?

    【讨论】:

      【解决方案7】:

      我已经尝试了这里建议的所有方法,但除了重新安装 XCode 4.3 神奇地解决了这个问题之外,没有任何效果。

      【讨论】:

        【解决方案8】:

        我遇到了同样的问题,上面的解决方案并没有解决我的问题(几乎)。

        我有相同的重复开发者 ID/证书,每个人都在抱怨,我尝试删除我的所有个人资料,撤销/重新颁发我的证书,确保系统钥匙串中没有,重新启动等。

        最终发现系统钥匙串中有一个证书,该证书已过期,因此默认隐藏在列表中。

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

        为此:

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

        【讨论】:

        • 太棒了,你真是个天才。我已经完成了每个地方列出的所有内容。你帮我解决了几个月前的问题。上帝保佑你!
        • 原来我在系统钥匙串下有一个过期的证书。这帮助我找到了它!谢谢!
        【解决方案9】:

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

        最后,我去钥匙串

        并通过输入名称搜索密钥

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

        真的很郁闷,不知道是不是bug.......真的很累。

        【讨论】:

          【解决方案10】:

          为此花了半天,终于找到了解决办法

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

          然后关闭 Keychain.app 并进入 Xcode -> Organizer

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

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

          【讨论】:

            【解决方案11】:
            1. 删除 ~/Library/Developer/Xcode
            2. 清理项目

            构建...

            【讨论】:

              【解决方案12】:

              引用这个问题的重复答案,Xcode在这方面的一些错误只能通过重新启动OS X来解决

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

              【讨论】:

                【解决方案13】:

                对于它的价值,@AndreasPrang,当上述所有方法都不起作用时,你的答案有效。我可以看到过期的证书不在钥匙串中的任何地方,但是当我进行构建时,Xcode 说它是。删除配置文件(全部),在团队部分选择我的名字并单击组织者右下角的刷新图标也没有帮助。重新启动 Xcode 没有帮助,但关闭 XCode,删除 ~/Library/Developer/Xcode 有帮助。当我重新启动 XCode 时,它​​重建了一切并且很开心。

                【讨论】:

                  【解决方案14】:

                  xcode 不断安装您的证书的另一个原因是因为您没有删除密钥,只删除了证书。您需要删除私钥(和相应的公钥)以及钥匙串中的证书,否则 xcode 将重新安装证书。

                  在这里查看To remove development and distribution certificates from your keychain

                  【讨论】:

                    【解决方案15】:

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

                    这一次,我在开发者门户的团队帐户中为我列出了 2 个证书。第一个过期了,第二个没过期。 Xcode 在刷新时不断抓取它找到的第一个(或两者兼而有之)。

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

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

                    【讨论】:

                      【解决方案16】:

                      在 4.6.1 中想出了一个非常简单的方法来解决这个问题。您可以在不重新启动任何内容或删除任何配置文件的情况下执行此操作!

                      使用 Keychain Access 并打开您的 Xcode 项目:

                      1. 在 Xcode 中,打开 Organizer - “Devices” 并选择“team” 证书副本。
                      2. 切换到钥匙串访问并删除旧的重复证书。注意:确保您开启“显示过期证书”以免遗漏任何证书。
                      3. 证书将从 Xcode Organizer 的“团队”配置文件中消失。
                      4. 清理项目并构建。

                      希望对你有帮助!

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2011-07-17
                        • 2011-09-23
                        • 2011-06-20
                        • 2018-09-05
                        相关资源
                        最近更新 更多