【问题标题】:Certificate has either expired or has been revoked证书已过期或已被吊销
【发布时间】:2016-08-09 21:41:39
【问题描述】:

不久前,我开始编写一个新的 iOS 应用程序。经过长时间的休息后,我正在再次对其进行工作,并且几乎完成了。

我在模拟器上对其进行了测试,但是当我尝试在我的 iPhone 6 上安装它时(我过去已经做过),我收到一条错误消息,告诉我我的应用程序无法安装,因为证书用于签名此应用已过期或已被撤销。

我尝试了很多东西:

  1. 我从 Xcode、钥匙串和苹果开发者那里删除了所有证书和配置文件,让 Xcode 为我创建新的
  2. 我删除了Xcode,从头开始做整个过程

但这并没有解决我的问题。

知道可能是什么问题吗?

【问题讨论】:

  • 你可能是this的受害者
  • 无论我做什么我都得到:用于签署“我的应用程序名称”的证书已过期或已被吊销。需要更新的证书来签署和安装应用程序。
  • 您的系统日期时间是否正确?

标签: ios iphone xcode


【解决方案1】:

编辑:此答案不适用于 Xcode 10 及更高版本。见turkenh's answer


解决方案

首先,按住 Shift(⇧)+Command(⌘)+K 或清理项目 选择产品 > 清洁

然后:

  1. 转到 Xcode 菜单> 首选项

  2. 选择帐户 > 团队 > 查看详情

  3. 从配置文件列表中选择任何配置文件

  4. 右键单击 > 选择 在 Finder 中显示。然后您将看到所有配置文件列表

  5. 从文件夹中选择所有配置列表并将它们移至回收站

  6. 通过单击配置文件列表下方的全部下载,下载所有配置文件。

现在,再次运行,它应该可以工作了!

【讨论】:

  • 很高兴听到这个消息! :)
  • 是的。你是对的。 Xcode 的自动配置是在开发和分发期间对应用程序进行代码签名的首选方式。换句话说,这是为企业和 App Store 开发者帐户设置项目的推荐方法。请查看以下链接了解详细信息:developer.apple.com/library/ios/qa/qa1814/_index.html
  • 救命稻草!谢谢!
  • 我没有任何团队/查看详细信息
  • 是账户不是账户
【解决方案2】:

对于那些在 Account > Team > View Details 中找不到“查看详细信息”按钮的用户,我在 Xcode 10 上解决了这个问题:

  1. 删除 ~/Library/MobileDevice/Provisioning\ Profiles/ 中的所有配置文件
  2. 按住 Shift(⇧)+Command(⌘)+K 或选择 Product > Clean 来清理项目(它可能标记为 "Clean Build Folder ")
  3. 重启 Xcode

然后再试一次。

【讨论】:

  • 我帮了我。我正在使用 fastlane,我必须直接从 ~/Library/MobileDevice/Provisioning\ Profiles/ 中删除所有配置文件,清理项目并使用 fastlane 匹配重新安装配置文件...
  • 我改用“自动签名”,我觉得这没有意义。在删除配置文件并重新启动它的工作后。谢谢
【解决方案3】:

编辑:此答案不适用于 Xcode 10 及更高版本。见turkenh's answer


我曾经遇到过这个问题并且能够找到答案。

可以在here找到答案。

这是你必须做的:

  1. 转到首选项->帐户
  2. 按您的帐户
  3. 点击“查看详情”
  4. 点击左下角的“全部下载”。

这些步骤为我解决了问题。

【讨论】:

  • 工作。谢谢安东尼
  • 查看详细信息 - 没有这样的按钮
【解决方案4】:

我有一个稍微不同的解决方案。它可能来自更新或我的特定用例。

使用 Xcode 7.3.1

我正在使用文件共享系统(保管箱)在两台不同的机器上进行开发。使用 Download All 解决方案并没有为我解决问题。

按照上面的链接,我接受了

的建议

删除 ~/Library/MobileDevice/Provisioning Profiles 中的所有配置文件

(这是一个极端的措施,但 Xcode 现在应该下载你需要的东西)

Xcode 提示更新自身。

在不同机器上切换开发时我仍然遇到问题。它显示以下警告/失败:

此应用程序的应用程序标识符权利与已安装应用程序的权利不匹配。这些值必须匹配才能允许升级。

解决该问题的方法是从设备上删除开发项目,然后重新安装。

【讨论】:

    【解决方案5】:

    一个简单的“清理”(Shift(⇧)+Command(⌘)+K)解决了我

    【讨论】:

    • 我是一个干净整洁的构建的粉丝,但我从来没有想过在这个问题上这样做!谢谢你! :) 请使用 Command+AltOption+Shift+K 来清理您的构建以确保。
    • 这很好(我每次都这样做)但还不够。删除 ~/Library/MobileDevice/Provisioning\ Profiles/ 中的所有配置文件对我有用。
    【解决方案6】:

    Xcode 9 中发现另一个导致血腥Certificate has either expired or has been revoked 错误的案例。如果您尝试使用 有效证书 进行签名,但您的钥匙串上的同一团队中确实有另一个 吊销证书,Xcode 会抛出此错误。要检查您是否已吊销证书,请参阅Xcode -> Preferences -> Accounts -> Your Apple ID -> Your Team -> Manage Certificates。使用 Keychain Access 删除已撤销的证书可以解决此问题。看起来像 Xcode 中的另一个代码签名错误。

    【讨论】:

      【解决方案7】:

      Xcode 11.3.1 中,界面已从所有当前答案更改。

      1. 转到菜单“Xcode”> 首选项 > 帐户。
      2. 在左侧为项目选择正确的 Apple ID。
      3. 如果配置文件仍处于活动状态,请单击“管理证书”。
      4. 如果有任何被吊销的证书,右键单击被吊销的证书和“删除证书”。在随附的屏幕截图中,应删除红色框内的证书。

      删除最新的“创建日期”证书应该会刷新您的证书,但建议删除所有已吊销的证书。

      删除被吊销的证书后,您应该能够重建应用程序。

      【讨论】:

        【解决方案8】:

        在 Xcode 8 中,

        1. 转到首选项->帐户
        2. 按您的帐户
        3. 点击“查看详情”
        4. 删除您需要的个人资料
        5. 点击左下角的“全部下载”。

        【讨论】:

        • 这为我解决了这个问题,但由于随机错误消息,我不得不按 3 次“全部下载”。
        【解决方案9】:

        这对我有用:

        1. 转到Xcode -> Preferences 并选择Accounts 选项卡。
        2. 选择您的帐户并点击右下角的Manage Certificates
        3. 你会看到Signing certificate for "User name" manu 会弹出。
        4. 点击底部的Apple Development,如下图,然后按Done按钮。

        【讨论】:

          【解决方案10】:

          -打开钥匙串 - 通过选择它来检查所有证书。 - 检查状态是否有效。 - 如果证书无效,则右键单击它并删除该证书

          【讨论】:

            【解决方案11】:

            Xcode 8 的一个新问题,对我有用的是关闭目标“常规”选项卡上新的“自动管理签名”复选框,然后重新打开。

            这会启动一个载入向导,为 Xcode 8 正确设置。

            【讨论】:

            • 这对我有用,但直到我也重新启动了我的 Mac,此时(在启动 XCode 时)一个对话框为我提供了撤销证书的选项......我做到了,然后打开了自动签名管理(我在重新启动之前未选中)。 +1 不必删除任何证书!
            【解决方案12】:

            最后对我有用的是在下载最新的配置文件后关闭并重新启动我的 MacBook。

            【讨论】:

              【解决方案13】:

              我刚刚取消选中“自动管理签名并通过选择团队再次检查它,它对我有用

              【讨论】:

                【解决方案14】:

                我遇到了这个问题,它看起来像是 xcode 的 10.x 新构建系统中的一个错误。

                1. 转到文件>项目设置 将构建系统更改为使用Legacy build system

                2. 按住 Option(⎇)+Shift(⇧)+Command(⌘)+K 或按住 Option(⎇) 并选择 Product > Clean Build Folder 对项目进行深度清理p>

                3. 在设备上运行

                【讨论】:

                  【解决方案15】:

                  当我没有删除和重新下载配置文件时,“清理”也没有帮助我这样做:

                  Preferences> Accounts> Apple IDs> 选择您的帐户> 选择您的团队> 查看详细信息...> 重置您的签名身份(在我的情况下是 iOS 开发)。

                  这一直对我有用。

                  【讨论】:

                  • 看不到“查看详细信息”和“重置您的签名身份”
                  • @gman,你是对的,他们又改变了 UI。现在我不知道该怎么做。
                  【解决方案16】:

                  1.将您的 Mac 计时设置更改为自动(打开日期和时间首选项检查自动设置日期和时间)。

                  2.然后转到您的 X 代码,清理并运行代码。

                  3.如果失败,请退出您的 Apple 配置文件并删除 XCode 中的所有自动创建的配置文件 - 首选项并将所有配置文件移动到垃圾箱并作为新文件下载。然后再次登录并运行您的代码.

                  【讨论】:

                    【解决方案17】:

                    如果您有在设备上运行的主机测试目标,请确保它使用与应用目标相同的代码签名身份。否则,当您在测试和调试应用程序之间切换时,您必须进行清理。

                    当我们在主机测试目标中关闭代码签名作为构建时增强功能时,我在 Xcode 11.4.1 中遇到了这个问题。为主机测试重新启用代码签名后,在运行主机测试目标和应用程序之间切换时,我不再遇到此问题!

                    【讨论】:

                      【解决方案18】:

                      重命名您的目录,不要包含小数点和 0(零)。

                      这样,我解决了。

                      【讨论】:

                        【解决方案19】:

                        有时,在 Xcode 8 中,您可能会发现自己处于撤销-重新生成循环中,您让 Xcode 8 “修复”证书和配置,然后 Xcode 发现新/重新生成的证书也无效,然后您返回撤销,它一直在发生。

                        在这种情况下,请检查您的 MacOS 时间!如果您将其设置为其他时间,而不是真正的当前时间,则新证书可能始终“尚未”有效。

                        【讨论】:

                          【解决方案20】:

                          这不是我面临的大问题。只需清理项目并重新启动您的 xcode! 希望它对你有用!它对我有用。 :)

                          或者 首先通过按住 Shift(⇧)+Command(⌘)+K 或选择 Product > Clean

                          来清理项目

                          然后

                          转到 XCode 菜单>首选项

                          选择帐户>团队>查看详细信息

                          从配置文件列表中选择任何配置文件

                          单击>选择在Finder中显示。然后您将看到所有配置文件列表

                          从文件夹中选择所有临时列表并将其移至回收站

                          通过单击配置文件列表下方的全部下载来下载所有配置文件。

                          现在,再次运行,它应该可以工作了!

                          【讨论】:

                            【解决方案21】:

                            使用Xcode Version 10.1,我通过以下步骤解决了:

                            1. 转到XcodePreferences 并选择Accounts 选项卡
                            2. 在帐户部分单击窗口左下角的齿轮,然后单击Export Apple ID and Code Signing Assets... 将其导出到文件中,例如Test.developerprofile
                            3. 删除您正在使用的配置文件
                            4. 再次点击齿轮选择Import Apple ID and Code Signing Assets...并选择你之前导出的文件Test.developerprofile
                            5. 现在执行 Clean (Shift(⇧)+Command(⌘)+K) 和 Build (Command(⌘)+B)
                            6. 再次运行

                            【讨论】:

                              【解决方案22】:

                              我在更改我的电子邮件帐户后遇到了这个问题。

                              在尝试了这么多可能的解决方案后,唯一可行的方法是从我的Apple developer account 中删除那天创建的证书。 (这不是我帐户中唯一的证书)似乎自动创建了一个新证书,并且与主证书冲突。

                              【讨论】:

                                【解决方案23】:

                                使用 Xcode 10.3

                                按照以下步骤操作:

                                1. 转到https://developer.apple.com
                                2. 关注Account > Certificates, Identifiers & Profiles > Devices
                                3. 从列表中找到您的 iPhone 并单击它。它将打开详细信息页面
                                4. 先禁用再启用
                                5. 转到 Xcode 选择您的 iPhone 并运行它

                                别忘了去Settings > General > Device Management 信任开发者账号

                                【讨论】:

                                  【解决方案24】:

                                  Xcode 11.1 需要直接从 Xcode 生成证书

                                  所以你在https://developer.apple.com之后会有这样的事情

                                  【讨论】:

                                    【解决方案25】:

                                    有时 Xcode 中的“Bundle Identifier”会因您所做的某些事情而发生变化。确保您在 Apple Developer 帐户中定义的 Bundle Identifier 与 Xcode 中的完全相同。

                                    【讨论】:

                                      【解决方案26】:

                                      如果它可以帮助任何人:Xcode 11.x 我还撤销(删除)了 App Developer 帐户中的证书。 然后我以为我在钥匙串访问中也删除了证书,但在尝试将应用更新上传到 AppStore 时不断收到错误消息。

                                      然后我发现在钥匙串访问中有两个不同的地方,其中一个保存证书(在钥匙下很有趣,一旦在钥匙串中选择登录),另一个是私钥(当然在钥匙串中的项目证书)。我确保两者都被删除,现在一切都很好。

                                      【讨论】:

                                        【解决方案27】:

                                        由于 Apple 全球开发者关系证书颁发机构证书冲突,您也可能会收到此错误。

                                        对我有用的是删除“KeyChain Access”应用程序中系统和登录钥匙串中的所有 Apple Worldwide 开发人员证书(不是显示您公司名称的证书)。使用 Xcode (9.2) 重新启动和重建,问题就消失了。

                                        【讨论】:

                                          【解决方案28】:

                                          转到https://www.apple.com/certificateauthority,下载所有全球开发者关系 - G# 证书并将它们添加到您的 Mac 钥匙串中。重新启动 Xcode 并重试。

                                          【讨论】:

                                            猜你喜欢
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 2020-09-18
                                            • 2015-07-06
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 1970-01-01
                                            相关资源
                                            最近更新 更多