ChatGPT解决这个技术问题 Extra ChatGPT

证书已过期或已被吊销

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

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

我尝试了很多事情:

我从 Xcode、钥匙串和苹果开发人员那里删除了所有证书和配置文件,让 Xcode 为我创建新的我删除了 Xcode 并从头开始执行整个过程

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

知道可能是什么问题吗?

您可能是 this 的受害者
不管我做什么:用于签署“我的应用程序名称”的证书要么已过期,要么已被吊销。需要更新的证书来签署和安装应用程序。
你有正确的系统日期时间吗?

a
auspicious99

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

解决方案

首先,通过按住 Shift(⇧)+Command(⌘)+K 或选择 Product > Clean 来清理项目

然后:

转到 Xcode Menu> Preferences 选择 Accounts > Team > 查看详细信息 从 Provisioning Profiles 列表中选择任何 Provisioning Profile 右键单击 > 选择 Show in Finder。然后您将看到所有供应配置文件列表 从文件夹中选择所有供应列表并将它们移动到垃圾箱 通过单击供应配置文件列表下方的全部下载来下载所有供应配置文件。

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


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

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

删除 ~/Library/MobileDevice/Provisioning\ Profiles/ 中的所有配置文件,按住 Shift(⇧)+Command(⌘)+K 或选择 Product > Clean(可能标记为“Clean Build Folder”)清理项目 重新启动 Xcode

然后再试一次。


我帮助过我。我正在使用 fastlane,我必须直接从 ~/Library/MobileDevice/Provisioning\ Profiles/ 中删除所有配置文件,清理项目并使用 fastlane match 重新安装配置文件...
我改用“自动签名”,我觉得这没有意义。删除配置文件并重新启动它工作的东西后。谢谢
它实际上是:[ /Users/[YOUR_MAC_USERNAME]/Library/MobileDevice/Provisioning\ Profiles/]
t
turkenh

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

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

可以在 here 中找到答案。

这是你必须做的:

转到首选项->帐户 按您的帐户 单击“查看详细信息” 单击左下角的“全部下载”。

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


工作。谢谢安东尼
查看详细信息 - 没有这样的按钮
b
bshirley

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

使用 Xcode 7.3.1

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

按照上面的链接,我接受了以下建议

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

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

Xcode 提示更新自身。

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

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

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


m
marceloquinta

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


我是清洁和清洁构建的粉丝,但我从没想过在这个问题上这样做!谢谢你! :) 请执行 Command+AltOption+Shift+K 来清理您的构建,以确保。
这很好(我每次都这样做)但还不够。删除 ~/Library/MobileDevice/Provisioning\ Profiles/ 中的所有配置文件对我有用。
A
Alexander Vasenin

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


M
Mykel

更新 Xcode 13.2.1 (03/2022):此方法仍然有效。

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

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

https://i.stack.imgur.com/wZKey.png

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

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


s
shim

在 Xcode 8 中,

转到首选项->帐户 按您的帐户 单击“查看详细信息” 删除您需要的配置文件 单击左下角的“全部下载”。


这为我解决了这个问题,但由于随机错误消息,我不得不按 3 次“全部下载”。
u
urvashi koladiya

这对我有用:

转到 Xcode -> Preferences 并选择 Accounts 选项卡。选择您的帐户并在右下角单击管理证书。您将看到“用户名”菜单的签名证书将弹出。从底部单击Apple Development,如下所示,然后按完成按钮。

https://i.stack.imgur.com/DGCm6.png


T
Tarun M

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


R
Richard

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

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


这对我有用,但直到我也重新启动了我的 Mac,此时(在启动 XCode 时)一个对话框为我提供了撤销证书的选项......我做到了,然后打开了自动签名管理(我没有选中)重启前)。 +1 不必删除任何证书!
M
Mike Taverne

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


J
Jack Daniel

https://i.stack.imgur.com/4SYVz.png


y
yogevbd

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

转到文件 > 项目设置更改构建系统以使用旧版构建系统。通过按住 Option(⎇)+Shift(⇧)+Command(⌘)+K 或按住 Option(⎇) 并在设备上选择 Product > Clean Build Folder Run 来深度清理项目


A
Alexander Sosnovshchenko

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

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

这一直对我有用。


看不到“查看详细信息”,也看不到“重置您的签名身份”
@gman,你是对的,他们再次更改了 UI。现在我不知道该怎么做。
H
Haileapp

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

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

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


o
one eye

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

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


j
jackyshan

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

像这样,我解决了。


a
auspicious99

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

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


J
Jamil Hasnine Tamim

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

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

然后

转到 XCode 菜单>首选项

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

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

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

从文件夹中选择所有临时列表并将其移至垃圾箱

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

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


m
madx

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

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


B
Bruno Pontes

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

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


i
iilyasov

使用 Xcode 10.3

按着这些次序:

转到 https://developer.apple.com 关注帐户 > 证书、标识符和配置文件 > 设备 从列表中找到您的 iPhone 并单击它。它将打开详细信息页面禁用然后启用它转到 Xcode 选择您的 iPhone 并运行它

不要忘记去 Settings > General > Device Management 信任开发者帐户


S
Svitlana

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

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

https://i.stack.imgur.com/PhCAi.png


s
shim

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


U
Uwe

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

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


A
Aidan

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

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


B
Benoit

转到 https://www.apple.com/certificateauthority,下载所有 Worldwide Developer Relations - G# 证书并将它们添加到您的 Mac 钥匙串。重新启动 Xcode 并重试。


Y
Yahya Bn

我遇到了这个问题,我解决了这个问题。

转到 XCode Menu> Accounts 选择 Accounts > Team > View Details 选择 Manage Certificates... 你会看到签名证书菜单会弹出。单击 Apple Development,然后按完成按钮。


b
bewithyou

Xcode 13.2.1 中的更新,

对我来说,这个错误是由我使用免费的苹果开发者帐户引起的。因此,在特定时间不使用证书构建该应用程序后,它将被撤销。但是无法识别 Xcode 以再次重建证书 -> 这就是错误发生的原因。

就像 turkenh's answer 一样,但您不需要重新启动 Xcode。清理后证书会自动重建。