Xcode 9错误:"iPhone已拒绝启动请求"

174

我正在使用Xcode beta 9 (v4),尝试通过点击“播放”按钮来启动应用程序。我得到了一个“构建成功”的提示,但就在启动之前,Xcode弹出一个消息窗口:

“iPhone拒绝了启动请求。”

Launch request denial error popup

昨天它还能正常工作。模拟器上也可以运行。我已经重启了我的电脑和iPhone,卸载了应用程序,清理了构建。已经没有更多的想法了。


您可以关注 https://dev59.com/5J_ha4cB1Zd3GeqPzXtn - Nikhlesh Bagdiya
那是一个不同的错误,虽然。 - user1988824
2
我也遇到了这个问题。结果发现我不小心改变了方案。尽管我在调试模式下使用开发人员证书,但它被设置为发布构建配置。 - swifthorseman
2
我刚刚重新启动了我的设备。 - Crazyrems
选择“自动管理签名”可以解决这个问题。 - onmyway133
@onmyway133 在XCode 10上,自动管理签名似乎无法解决这个问题。 - blue_zinc
46个回答

6
问题在于xcode会在一定时间内 '超时'。解决方法是编辑方案,要求 xcode 等待可执行文件启动。

在编辑方案中,选中 '等待可执行文件启动' 而不是 '自动'


6

我仔细阅读了所有回答,但它们对我没有帮助。我的解决方案:

  1. 进入Xcode偏好设置,选择账户(⌘ + ,)
  2. 选择您的Apple ID,选择团队,然后点击管理证书
  3. 在左下角的弹出菜单中点击+按钮并选择iOS Development,然后点击完成并关闭弹出窗口
  4. 尝试重新启动应用程序,现在应该可以正常运行。

4

可能是因为使用Git切换了错误的分支,确保您切换的分支不要太旧(因为这可能会导致代码签名问题),如果仍然有问题,请在正确的分支下选择开发配置文件,如果您没有自动管理签名。


3

我知道这个线程中有很多答案。我尝试了每一个方法,但是都没有解决我的问题。

TLDR:

以下是解决方案:

  • 更新到 xcode 11.4.1或更高版本

Keychain访问中浏览所有证书后,我发现所有开发人员证书的状态均为无效。我相信这是问题的根本原因。我尝试了此处的解决方案,即删除Apple Worldwide Developer Relations Intermediate Certificate 等等。但是,它并没有起作用。

然后我看到了这个链接。显然,Apple Worldwide Developer Relations Intermediate certificate (AWDRI)将于2023年到期,并且发行于2021年1月28日之后的开发商证书或任何其他证书都不会使用该特定的AWDRI证书。代替它们的是一张更新的证书,有效期至2030年。这就是问题所在,新的更新证书仅适用于xcode 11.4.1或更高版本。而我有一版较旧的xcode。

当我将xcode更新到最新版本-12.4(我必须经历在我的机器上进行空间调整,更新macos等等)时,问题消失了。我在Keychain访问上的所有开发人员证书现在都显示为有效。此外,我可以在我的Keychain访问上看到两个AWDRI证书,一个将在2023年到期,另一个将在2030年到期。

来自我分享的链接的说明:

当前的Apple Worldwide Developer Relations Certification Intermediate Certificate(中间证书)的过期日期为2023年2月7日。更新的证书将用于签署2021年1月28日之后发布的新软件签名证书,适用于苹果开发人员计划。其余服务证书将在未来进行更新,并将更新此页面以反映其他证书更改。

还有更多...

此要求还影响2021年1月28日之后由Xcode中的个人帐户生成的所有软件签名证书,以及苹果开发人员计划、苹果开发者企业计划和iOS大学开发人员计划成员。

Xcode 11.4.1或更高版本会自动下载新的Apple Worldwide Developer Relations Intermediate Certificate,并可在证书颁发机构页面上下载。通过验证到期日期是否设置为2030年,确认已安装正确的中间证书。

他们还提到了旧版本的问题:

Xcode 11.4.0及更早版本可能无法使用由新的全球开发者关系认证中间证书颁发的签名证书对软件进行签名。如果您无法在构建机器上升级到支持的macOS或Xcode版本,则可以使用较早的Xcode客户端构建和归档您的应用,并使用最新版本进行分发签名。另外,您可以使用命令行工具codesign来对您的软件进行签名。

这似乎是导致我的问题的原因。我仍然使用Xcode 11.0,因为我需要运行macOS Mojave。正如HasilT指出的那样,如果您可以升级到Xcode 11.4.1或更高版本,那么这应该会自动解决您的问题。但是,如果您无法升级,请转到HasilT共享的链接并下载苹果更新的“中间证书”。您需要将其手动安装到Mac的Keychain Access应用程序中。我通过“文件”>“导入项目”将其添加到该应用程序中的“登录”钥匙串中。这为我解决了问题。 - peacetype

3
只需要在“目标”的一般设置中勾选“自动管理签名”。这将为您创建开发配置文件,并可以在设备上运行。

3

这些简单的步骤对我有所帮助。

  1. 从Mac上断开连接的iPhone、iPad。
  2. 重启你的设备。
  3. 在Xcode设置中选择“自动管理签名”。
  4. 重新连接你的iPhone、iPad。

2

我在Xcode 9.1上遇到了这个问题。

情景描述:我为设备勾选了“通过网络连接”选项,然后试图使用USB电缆将应用程序运行到该设备上。

解决方案:简单地拔掉USB电缆并运行即可。


2
我尝试了所有的答案,但都没有解决我的问题。问题来自于Xcode本身,与配置文件和证书无关:
在“Product > Scheme > Edit Scheme”中,在“Run(部分)/ info(选项卡)”中选择“Release”作为“Build Configuration”,如下所示:

enter image description here

这是自Xcode 10.1以来的回归。
配置:Xcode版本10.1(10B61) Iphone X / IOS 12.1.4

我得出了差不多相同的结论。我已经尝试过不同的账户,更新了所有证书,并且实际上尝试了这个问题的所有答案。结果总是一样的,它就是不起作用。我的设备:macOS Mojave,版本10.14.3,iPhone SE,iOS 12.1.4,Xcode 10.1(10B61)。 - ackh
通过这个提示,我能够在iPhone上启动应用程序,但似乎应用程序只部分工作,并且在我按下某个按钮后立即崩溃。 - A.HEDDAR
自从升级到10.14.4(18E226)以后,一切都很正常。 - A.HEDDAR

1
对我来说,这个问题是因为我在调试时使用了“发布配置文件”。
我们不能使用“发布配置文件”进行调试,将其更改为“开发配置文件”即可解决问题。
步骤:(Xcode 11.2.1)
1.选择项目,在“TARGETS”下选择正确的目标。
2.切换到“签名和功能”。
3.在“签名”部分下,将配置文件更改为“开发配置文件”,或者只需勾选“自动管理签名”。

enter image description here


1

让我告诉您一个解决我的问题的解决方法:

  • 步骤1:Windows > 设备和模拟器。
  • 步骤2:取消配对设备。
  • 步骤3:重新连接设备并信任。
  • 步骤4:运行应用程序。BINGO。

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