可执行文件签名所使用的身份验证信息已失效。

178

我有一个应用程序正在iPad上调试。

两天前,我想要调试一个相同的更新应用程序,但是我遇到了这个错误。

签署可执行文件的标识不再有效。

请验证您设备的时钟是否正确设置,并且您的签名证书没有过期。

(0xE8008018)。

我还没有iPhone开发者证书,但是我已经调试过这个游戏一次了。

40个回答

235

无论是重新启动Xcode还是重新启动我的Mac都没有帮助。

Xcode中的解决方案:

  1. 在Xcode中,转到“偏好设置”->“帐户”->“查看详细信息”
  2. 按+号并选择iOS开发
  3. 点击左下角的刷新按钮(在Xcode 7中称为全部下载

附加提示:

  • 有时删除无效的配置文件也可能有所帮助:右键单击->移到废纸篓
  • 我在成为苹果开发者一年后恰好遇到了这个错误。

14
谢谢!这对我有用,除了我不需要第二步。 - sup
3
谢谢!可能每年入学日期后都会出现这个问题。 - Sergey Neskoromny
3
谢谢!我重新激活了我的注册,但遇到了这个问题。这个帮了我解决了。 - Thanh-Nhon Nguyen
1
现在的正确答案 - Fede Cugliandolo
1
对我来说,只有删除所有已下载的配置文件,然后让Xcode“修复问题”才有帮助。 - Lars Blumberg
我在Mac桌面和MacBook Air上进行开发。桌面是最新的,Air似乎已经过时,并在构建时显示“身份不再有效”的消息。最终我做了Lars Blumberg所做的事情:XCode->设置->帐户,突出显示我的Apple ID并删除(底部减号)。然后重新添加它(“+”符号),输入ID和密码,让它从服务器加载证书。它会提供“修复问题”的选项。让它自己处理。然后一切都好了。 - Blisterpeanuts

101

尝试重新启动XCode,这对我有用。


1
这对我也有效。按下 command + Q 退出 XCode 并重新启动。干杯! - Joey
9
我不得不手动删除所有证书/配置文件,并在苹果开发者门户网站上刷新所有内容并重新下载它们,但是这样做成功了。 - benka
9
最新的6.1版本出了问题,重启XCode和删除项目“派生数据”都没有用。我非常讨厌这个过时的开发环境。 - Mike Gledhill
83
重启 Xcode 对我没用。对我有帮助的是进入 Xcode 中的“账户”(在偏好设置中),找到我的开发者账户详情,然后点击左下角的刷新图标。这会加载一个新的团队配置文件,显然这是必需的... 是啊,我们不应该被迫处理这些问题,苹果公司也不应该这么做。微软以前也曾经这样对待开发者,别去那里。 - Eskim0
2
@Eskim0 在将个人账户转换为商业账户后,我遇到了相同的问题,但你的修复方法对我有效。 - Rogare
显示剩余9条评论

59

在您的密钥链中证书到期时,可能会发生这种情况。

编辑:我现在推荐使用certsigh生成您的证书和配置文件。 这两个命令是来自KrauseFx的fastlane工具的一部分。

使用cert和sigh:

  1. 打开终端并键入cert
  2. 回答提示问题以选择用户、密码、团队、应用程序等。
  3. 打开终端并键入sigh
  4. 回答提示问题以选择用户、密码、团队、应用程序等。
  5. 在代码签名标识(iPhone Developer)中选择正确的配置文件

传统方式:

  1. 只需转到新的配置文件门户:Certificates, Identifier, Profiles
  2. 使用您的开发人员帐户登录。
  3. 转到“Certificates”并单击加号按钮。
  4. 然后选择iOS Apps Development并点击继续。
  5. 按照整个过程操作并下载新生成的证书。
  6. 下载并将其放入您的密钥链中。
  7. 从XCode Organizer设备窗口更新您的配置文件
  8. 在代码签名标识(iPhone Developer)中选择正确的配置文件

1
我按照上述过程进行操作后,它会要求撤销和请求。如果我撤销了那个证书,这会对发布有任何影响吗? - S P Balu Kommuri
1
这不会影响已经在AppStore上的任何应用程序,但您需要使用新证书重新生成每个配置文件以供将来使用(即编译)。 - dulgan
这意味着如果我将来开发我的应用程序,我想使用新创建的预配配置文件,这样正确吗?@dulgan - S P Balu Kommuri
是的,您已经开发的所有内容仍然可以正常工作,但是使用旧证书创建的所有配置文件都将过期。配置文件仅在通过XCode安装应用程序时,通过空中安装或将应用程序发送到iTunesConnect时使用。 - dulgan
谢谢@dulgan,从现在开始我将使用新的吊销证书和新的配置文件,这样就不会有问题了。好的..... - S P Balu Kommuri
@Carrl,你的问题可能与同样的问题无关。你可以尝试本页面上的其他答案。 - dulgan

22

6
如果您正在使用Jailcoder,请确保已成功越狱您的iPhone。不要忘记在Cydia中安装AppSync for IOS。

有没有一个信誉良好的地方可以获取AppSync? - newenglander

5

您的配置文件已过期。

  1. 打开xcode
  2. 点击“偏好设置”
  3. 选择“账户”
  4. 选择您的Apple ID
  5. 点击“查看详细信息”(在右下角)
  6. 点击“全部下载”
  7. 重新运行程序,完成!

可以了!我已经从另一台电脑导入了开发者配置文件。 - FlySoFast
可以用,谢谢……该死的苹果,为什么会有这么多卡顿的地方? - Kyle Pennell

5
在最新版本的 Xcode 中,当您的证书过期并且 Xcode 继续使用旧的证书直到其过期时,通常会出现此问题。
关闭 Xcode 并重新打开它将启动自动下载新证书并使您的应用程序正常工作的过程。
只需完全关闭 Xcode(Cmd + Q),然后再次打开它,加载您的项目并点击“播放” .. 它会询问您是否需要协助自动修复证书问题,然后您只需按照屏幕上的说明操作,它会为您完成所有繁重的工作 :)

4
这可能有点经验主义,但在许多评论者指出“这对我有用”或“这对我没有用”的情况下是值得的。首先,问题可能存在于许多位置,包括您的证书(代码签名身份)或您的配置文件。在进行任何操作之前,先确定问题所在将节省大量的时间和精力。您需要检查三个位置:
  1. XCode
  2. 密钥链访问
  3. 开发人员门户网站(开发人员成员中心)
好的,在XCode中,单击项目(位于目标标题上方),选择构建设置并滚动到“代码签名”。展开“CODE_SIGNING_IDENTITY”标题,您将看到一堆身份(Debug、Release等)。每个身份都将与密钥链访问中的证书相匹配。找到匹配项并检查到期日期……如果已过期,则需要在开发人员门户网站上更新并下载它。检查每个身份,而不仅仅是第一个已过期的身份。此外,如果已过期,则需要重新生成使用过期证书的任何配置文件。 如果证书没有问题,请检查所有配置文件的到期日期。再次提醒,如果它们已过期,则需要重新生成它们。
完成后,为您要构建的TARGET重复相同的过程。
这些都没有起作用吗?一个过期的证书潜藏在您的某个配置文件中。这可能是这种情况的一个迹象,即当您单击CODE_SIGNING_IDENTITY时,该身份位于Other下面...例如:xcode example of dodgy identity 这通常是存在过期证书的明确迹象,并且您的某个配置文件正在使用它。

3

我曾经遇到过XCode 6.3的问题,以下是解决方法:

进入 XCode > Preferences > Accounts,选择你的开发者账户,然后点击View Details...。在窗口左下角点击refresh按钮。它会提示你缺少一些证书。点击Request,XCode会自动下载缺失的证书。点击Done,这个问题就解决了。


3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接