证书已过期或已被吊销


159

不久前,我开始编写一个新的ios应用程序的代码,经过一段长时间的休息之后,我又在进行开发,并且几乎完成了。

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

我尝试了很多事情:

  1. 我从xcode,keychain和Apple Developer删除了所有证书和Provisioninig配置文件,然后让xcode为我创建新证书和Provisioninig配置文件
  2. 我删除了xcode,从一开始就完成了整个过程

但这并不能解决我的问题。

知道可能是什么问题吗?


2
你可能会成为受害者
heximal

解决问题后,您仍然没有
遇到麻烦

1
无论我得到什么:用于签署“我的应用名称”的证书已过期或已被吊销。需要更新的证书来签名和安装该应用程序。
user6218736

1
您有正确的系统日期时间吗?
heximal

我刚刚从Xcode删除了我的Apple帐户,还从“钥匙串”中删除了密钥,然后再次添加了它们,就像魔术一样工作。但是,我尝试了其他大多数步骤,但对我没有用。
拉维

Answers:


279

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


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

然后:

  1. 转到Xcode 菜单 > 首选项

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

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

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

  5. 从文件夹中选择所有配置列表,然后将其移至回收站

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

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


2
很高兴听到!:)
Riduanul伊斯兰教医师

2
是的,没错。Xcode的自动配置是在开发和分发期间对签名应用程序进行编码的首选方法。换句话说,这是为企业和App Store开发人员帐户设置项目的推荐方法。请查看下面的链接以获取详细信息:developer.apple.com/library/ios/qa/qa1814/_index.html
Md .Riduanul Islam 2016年

2
救命!谢谢!
乔尔

7
和我没有任何团队/查看详细信息
user924

2
这是帐户而不是帐户
user924 '18

80

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


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

答案来自这里

这是您要做的:

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

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


1
工作了 感谢安东尼
GMHSJ 2016年

7
查看详细信息-没有这样的按钮
user924

55

对于无法在“ 帐户”>“团队”> “查看详细信息”中找到“查看详细信息”按钮的人,这是我在Xcode 10上解决此问题的方法:

  1. 删除〜/ Library / MobileDevice / Provisioning \ Profiles /中的所有供应配置文件
  2. 通过按住Shift(⇧)+ Command(⌘)+ K或选择“ 产品”> “清理”清理项目(它可能被标记为“清理生成文件夹”
  3. 重新启动Xcode

然后再试一次。


1
我帮了我 我使用FASTLANE,我不得不直接从〜/库/移动设备/供应\ Profiles文件/清洁删除所有配置项目,并重新安装与FASTLANE匹配的配置文件...
弗拉迪米尔·斯拉维克

1
对我来说,在Xcode 11上,每次我运行应用程序前
都只

真的非常有帮助。谢谢哥们!
严厉的Chaurasia

34

我有一个略有不同的解决方案。它可能来自更新,也可能来自我的特定用例。

使用Xcode 7.3.1

我正在使用文件共享系统(投递箱)在两台不同的计算机上进行开发。使用Download All解决方案并不能解决我的问题。

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

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

(这是一种极端的措施,但是Xcode现在应该下载所需的内容)

Xcode提示自己更新。

在不同机器上进行开发之间切换时,我仍然遇到问题。它显示以下警告/故障:

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

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


这对我有用。XCode中未显示任何配置文件,因此我无法从那里删除它们。
henrikmerlander

删除的证书会怎样?我仍然可以运行那些项目吗?(尽管我有这些疑问,这对我还是有用的)
Gel

@gel删除的证书在需要时由Xcode重新加载
bshirley

25

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


我是干净整洁的爱好者,但我从未想过在本期中做到这一点!谢谢你!:)请执行Command + AltOption + Shift + K来清除构建,以确保确定。
Glenn

这很好(我每次都做),但还不够。删除〜/ Library / MobileDevice / Provisioning \ Profiles /中的所有供应配置文件对我来说还是有用的。
拉斐尔·皮内尔

11

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


这是对我有用的。我自己找到了解决方案,但很高兴它已经被分享
Gee.E 18'Feb

3

在Xcode 8中

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

这为我解决了这一问题,只是由于随机错误消息,我不得不按3次“全部下载”。
sudo

2

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


2

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

这将启动一个加载向导,该向导可以正确设置Xcode 8。


这对我有用,但是直到我也重新启动了Mac之后,(在启动XCode时)一个对话框为我提供了吊销证书的选项……我这样做了,然后打开了自动签名管理(我未选中)重新启动之前)。+1无需删除任何证书!
kwishnu

2

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


也为我工作。但我想知道,实际的问题是什么。
umairhhhs

2

我只是取消选中“自动管理签名,然后选择团队再次对其进行了检查,它对我有用 在此处输入图片说明


2

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

  1. 转到“ 文件”>“项目设置”。 更改要使用的构建系统Legacy build system

  2. 通过按住Option(⎇)+ Shift(⇧)+ Command(⌘)+ K或按住Option(⎇)并选择“ 产品”>“清理构建文件夹”来深度清理项目

  3. 在设备上运行


2

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

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

吊销证书截图

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

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



1

当也不删除和重新下载配置文件时,“清理”也无济于事:

首选项>帐户>苹果标识> 选择您的ACC > 选择您的团队 >查看详细...> 重置您的签名身份(iOS开发在我的情况)。

这一直对我有用。


可以在其他所有答案/解决方案都失败时确认对我
有用

3
看不到“查看详细信息”也看不到“重置您的签名身份”
gman

@gman,您是对的,他们再次更改了UI。现在我不确定该怎么做。
亚历山大·索斯诺夫申科

1

1.将Mac Timing的设置更改为Automatic(自动打开日期和时间首选项,选中自动设置日期和时间)。

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

3,如果失败,请注销您的Apple配置文件并删除XCode-Preferences中的所有自动创建的配置文件,然后将所有配置文件移至回收站并下载为新文件,然后再次登录并运行您的代码。


1

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

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


0

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

这样,我解决了。


0

到目前为止,提供的所有解决方案都无法正常工作(尽管它们都是正确的),并且从磁盘上删除Xcode项目并从存储库中重新克隆它对我来说解决了。


0

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

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


0

这不是我面临的大问题。只需清理项目并重新启动xcode即可!希望它将为您服务!它为我工作。:)

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

然后

转到XCode菜单>首选项

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

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

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

从文件夹中选择所有预配置列表,然后将其移至回收站

通过单击“配置文件概要”列表下方的“全部下载”,下载所有配置文件。

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


0

随着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. 现在执行CleanShift(⇧)+ Command(⌘)+ K)和BuildCommand(⌘)+ B
  6. 再次运行

0

更改我的电子邮件帐户后出现此问题。

在尝试了许多可能的解决方案之后,唯一可行的解​​决方案是仅从Apple开发人员帐户中删除当天创建的证书。(这不是我帐户中唯一的证书)似乎自动创建了一个新证书,它与主要证书冲突。


0

我有同样的问题。清理项目(Shift(⇧)+ Command(⌘)+ K),退出Xcode并再次打开后,我解决了问题。


0

使用Xcode 10.3

跟着这些步骤:

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

不要忘了去Settings> General> Device Management信任的开发者账户



0

有时,由于您所做的某些事情,Xcode中的“捆绑包标识符”正在更改。确保您在Apple Developer帐户中定义的捆绑包标识符与Xcode中的标识符完全相同。


0

万一它对任何人都有帮助:Xcode 11.x我也撤消了(删除)App Developer帐户中的证书。然后我以为我也已在“钥匙串访问”中删除了证书,但是在尝试将应用程序更新上传到AppStore时始终收到错误消息。

然后,我发现在钥匙串访问中有两个单独的位置,其中一个保留了证书(在钥匙串中足够有趣,一旦在钥匙串中选择了登录,就保留了证书),而另一个则是私钥(当然在钥匙串)。我确保两个都被删除,现在一切都很好。

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.