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

时间:2017-07-31 16:38:28

标签: ios xcode launching-application

使用Xcode beta 9(v4),我试图点击“播放”按钮启动应用程序。我得到了“构建成功”但在启动之前,Xcode中出现了一条弹出消息:

  

“iPhone拒绝了发布请求。”

Launch request denial error popup

它曾经在昨天工作。它确实可以在模拟器上运行。我已重新启动计算机,iPhone,卸载应用程序,清理构建。用尽了想法。

47 个答案:

答案 0 :(得分:196)

可能是代码签名问题。确保您与开发人员签约,而不是分发。

答案 1 :(得分:189)

使用Xcode 9.x或更新版本。

我将此问题跟踪到" 调试可执行文件"产品方案中的复选框(product-> scheme-> edit scheme-> info-> debug executable checkbox)。我取消选中,这已经停止了(以及其他一些奇怪的问题 - 控制台中没有输出就是一个)。

答案 2 :(得分:58)

我有一个解决方法:
如果您将方案更改为' 启动时询问'它有效。

在Xcode顶栏

Product > Scheme > Edit Scheme > 'Info' tab > Executable:  "Ask on Launch"

http://upload-images.jianshu.io/upload_images/663014-d5d182e310052664.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

它有点烦人但它有效。

答案 3 :(得分:25)

收到“拒绝启动请求”错误后,请执行以下操作:

编辑方案 - >信息 - >可执行 - >发布时询问

这对我来说非常有用。

答案 4 :(得分:23)

可以通过取消选中“编辑方案”中的“调试可执行文件”来解决此问题。

enter image description here

答案 5 :(得分:12)

简单重启iPhone帮我解决了。

答案 6 :(得分:9)

我最近遇到了这个问题,我找到了这个疯狂问题的解决方案。这是解决此问题的方案问题,请按照以下步骤进行。

  1. 点击编辑方案顶部导航器标签。
  2. enter image description here

    1. 单击“运行”菜单上的“信息”。
    2. 在“可执行文件”下拉列表中选择“启动时询问”选项 - >然后关闭并运行一次构建。
    3. enter image description here

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

      Apple Reference

答案 7 :(得分:9)

在部署到带有iOS 10.3的非模拟iPhone 6s时,使用Xcode 9.0获得此功能。

在此之前我强制退出应用程序。否则,一切都没有改变;所有开发人员签名凭据仍然受信任,该应用程序仍然在iPhone的设置中标记为已验证。

修复它的诀窍是关掉iPhone然后再重新打开它。

查看我的日志,看到applicationWillTerminate在此之前触发了一段时间;我认为强制退出的应用程序实例一定是僵尸程序吗?

答案 8 :(得分:8)

对我来说问题是由于使用Ad hoc配置文件对应用程序进行代码签名。

将代码签名更改为开发人员配置文件后,从xcode设置常规选项卡中解决了上述问题。

答案 9 :(得分:7)

问题是xcode' 超时'一定秒后。修复方法是编辑方案并要求xcode等待'直到可执行文件启动。

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

答案 10 :(得分:6)

我遇到的问题是我使用的是免费的开发者帐户(只需使用我的Apple ID登录)。查看我发现的设备日志(粗体添加)

  

(RequestDenied);原因:"服务代表拒绝了该请求   (SBMainWorkspace)原因:安全性("无法启动   {com.my.bundleID}因为它的代码签名无效,不足   未明确信任权利或其个人资料   的用户&#34)"

这让我意识到我需要进入315.8004234748382017-09-20T00:00:00+02:00CIM-0,010123421337 - > Settings - > General - > Device Management - > {My Apple ID}

之后,一切都按预期工作。

在iOS的早期版本中,我会在设备上遇到一个对话框,告诉我这是问题所在。也许Apple将其用于iOS 11。

答案 11 :(得分:5)

我认真地阅读了所有答案,但是它们对我没有帮助。我的解决方案:

  1. 转到Xcode首选项,选择帐户(⌘+,)
  2. 选择您的Apple ID,选择团队,然后单击“管理证书”
  3. 在左下角的弹出菜单中,单击+按钮并选择iOS开发,然后单击完成并关闭弹出窗口
  4. 尝试重新启动应用程序,现在应该可以了。

答案 12 :(得分:4)

这可能会导致与Git切换错误的分支,确保您切换的分支不太旧(因为它可能导致代码签名问题),如果仍然困扰,请在右侧分支上选择开发供应如果您没有自动管理签名,请在签名(调试)下进行配置文件

答案 13 :(得分:4)

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

  1. 从Mac中删除已连接的iPhone,iPad。
  2. 重新启动设备。
  3. 在Xcode设置中选择“自动管理签名”。
  4. 重新连接您的iPhone,iPad。

答案 14 :(得分:3)

只需勾选"自动管理签名"一般 - >签署目标的属性。它将为您创建开发配置文件,并在设备上运行。

答案 15 :(得分:2)

我已经尝试了所有答案,但对我没有用, 问题来自Xcode本身,与配置文件和证书无关:

  

产品>方案>编辑方案

在运行(部分) /信息(选项卡)中[选择] 发布,而不是将调试作为 Build Configuration strong>如下:

enter image description here

这是自Xcode 10.1以来的回归


Config:Xcode版本 10.1(10B61)          Iphone X / IOS 12.1.4

答案 16 :(得分:2)

我在Xcode 9.1上面对这个问题

场景:我检查了#34;通过网络连接"设备选项。并尝试使用USB连接线将应用程序运行到此设备。

修复:只需拔下USB线并运行。

答案 17 :(得分:1)

看完网上提供的所有解决方案后,我终于找到了一个,这里是:

  • 发生错误是因为它使Runner对要使用的配置文件感到困惑。
  • 在Xcode>目标>签名中的配置文件中添加新帐户后,您最经常会遇到此错误。
  • 您可以通过仅使用一个配置文件来消除此错误。
  • 无需创建新用户。
  • 或者您可以使用您在iPhone的“个人资料”中使用的帐户登录(我做到了!)

Happy Days:)

答案 18 :(得分:1)

如果这个问题是在今天(2019年3月20日)之前几天发生的,则很可能与发行错误的代码签名证书有关。在这种情况下,您只需重新创建代码签名证书即可解决该问题。 This这样的问题已经有一个answer that explains you how to do so

答案 19 :(得分:1)

在“功能”中打开App Groups,等待App...生效,然后关闭App Groups,它的工作原理是:

enter image description here

答案 20 :(得分:1)

对我来说,此问题与手动安装的企业证书有关,必须将其用于开发和发布方案。在允许启动该应用程序之前,我必须信任该设备上的证书,但是由于我不断收到该被拒绝的消息,因此它永远不会启动。最终,编辑方案并将其设置为在调试完成之前等待应用程序被挂接。

答案 21 :(得分:1)

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

  • 第1步:Windows>设备和模拟器。
  • 第2步:取消设备配对。
  • 第3步:重新连接设备并建立信任关系。
  • 第4步:运行应用程序。宾果游戏。

答案 22 :(得分:1)

这是Xcode中的一个间歇性错误 - 我刚刚停止并启动了我的所有设备并且它神奇地工作了(在弄乱了半小时之后) 我将MacOS隔夜升级到10.13.04,这显然让人感到不安! Xcode 9.3,iOS 11.3 watchOS 4.3

答案 23 :(得分:1)

我刚刚使用Apple Configurator清除了配置文件,重新启动了iDevice并像往常一样再次工作。

答案 24 :(得分:1)

没有其他答案有效-

Xcode 11 +

  1. 单击顶部导航器选项卡上的“编辑方案”。
  2. 启动选项,选择等待可执行文件启动

您将不得不在设备上手动运行该应用程序,但这将使调试器保持连接状态,因为某些其他解决方案使调试器脱离。

enter image description here

答案 25 :(得分:1)

我知道这个帖子中有很多答案。我已经尝试了其中的每一个,但没有一个对我有用。

TLDR:

解决办法如下:

  • 更新到 xcode 11.4.1 或更高版本

查看 Keychain access 中的所有证书,我发现我的所有开发者证书都处于无效状态。而且,我相信这是这个问题的根本原因。我在这里尝试了解决方案,说删除 Apple Worldwide Developer Relations Intermediate Certificate 和所有内容。但是,它没有用。

然后我遇到了这个 link。显然,Apple Worldwide Developer Relations Intermediate certificate (AWDRI) 将于 2023 年到期,开发者证书或 2021 年 1 月 28 日之后颁发的任何其他证书将不会使用该特定 AWDRI 证书。相反,他们使用了将于 2030 年到期的续订证书。问题来了,新续订的证书仅适用于 11.4.1 或更高版本的 xcode。而且,我有一个旧版本的 xcode

当我将我的 xcode 更新到最新版本 - 12.4(我不得不在我的机器上腾出空间,更新 macos 等等)问题就消失了。我在 Keychain access 上的所有开发者证书现在都显示有效。而且,我可以在我的 AWDRI 上看到两个 Keychain access 证书,一个在 2023 年到期,另一个在 2030 年到期。

来自我分享的 link 的描述:

<块引用>

当前的 Apple Worldwide Developer Relations Certification Intermediate Certificate(中级证书)将于 2023 年 2 月 7 日到期。更新后的证书将用于签署 2021 年 1 月 28 日之后为 Apple Developer Programs 颁发的新软件签名证书。剩余的服务证书将在未来更新,此页面将更新以反映其他证书更改。

还有更多...

<块引用>

此要求还会影响 2021 年 1 月 28 日之后由在 Xcode 中拥有个人帐户的开发者以及 Apple Developer Program、Apple Developer Enterprise Program 和 iOS University Developer Program 成员生成的所有软件签名证书。

<块引用>

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

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

<块引用>

Xcode 11.4.0 及更早版本可能无法使用新的 Apple Worldwide Developer Relations Certification Intermediate Certificate 颁发的签名证书对软件进行签名。如果您无法在构建机器上升级到支持的 macOS 或 Xcode 版本,您可以使用较早的 Xcode 客户端构建和存档您的应用程序,并使用最新版本对其进行签名以进行分发。或者,您可以使用 codesign 工具通过命令行对您的软件进行签名。

答案 26 :(得分:1)

我有同样的问题。它是Xcode 9.1中的一个错误。有一个技巧可以让它现在起作用。锁定你的手机。运行代码。 Xcode会要求解锁iPhone。

答案 27 :(得分:0)

这些简单的步骤对我有用:

1)退出Xcode

2)从设备中删除应用

3)关闭设备,然后重新打开

4)启动Xcode,然后重试

答案 28 :(得分:0)

对我来说,这个问题浮出水面,因为我正在使用Distribution Provisioning Profile进行调试。

我们无法使用Distribution Provisioning Profile进行调试,将其更改为Development Provisioning Profile可以解决此问题。

步骤:(Xcode 11.2.1)

  1. 选择项目,在TARGETS下,选择正确的目标。
  2. 切换到Signing & Capabilities
  3. Singing部分下,将Provisioning Profile更改为Development profile ,或者您只需检查Automatically manage signing

enter image description here

答案 29 :(得分:0)

答案 30 :(得分:0)

我遇到了这个问题,我正在xCode 10.2.1上运行,我不确定是什么原因引起的,但是您应该尝试做的第一件事是对要构建的设备进行硬重置。这样对我来说就很好了。我敢打赌,其他答案也很有价值,但是任何告诉您编辑方案的答案都不能解决问题,而只是掩盖问题,直到您需要调试为止。首先尝试我的修复程序,看看它是否有效,以及是否没有其他效果。这似乎不是仅由一个问题引起的。

答案 31 :(得分:0)

如果尝试在通过XCode连接的真实iOS设备中调试应用程序,请确保已使用iOS development certificate选择了临时配置文件。

如果您已使用distribution certificate选择了临时配置文件,则将无法用于调试目的,通过XCode在本地启动该应用程序将无效。

答案 32 :(得分:0)

我不确定这是一个修复程序还是其他解决方法,但是从设备上卸载该应用程序很有帮助。我仍然不确定是什么原因引起的,但是@MrRogers answer帮助我弄清楚了。

答案 33 :(得分:0)

对我来说,问题是我的开发和分发证书在 Keychain 中显示为不受信任。此处的解决方案解决了该问题:

https://developer.apple.com/forums/thread/662300

基本上,您需要下载更新的 Apple Developer Relations Intermediate Certificate。 (这可能是因为如果我更新到较新版本的 Xcode,它就会解决问题,如 @HasilT's answer 中所建议的那样。)

答案 34 :(得分:0)

我在xcode10.1中有同样的问题。我在钥匙串中发现许多重复的开发人员帐户。从钥匙串中删除所有开发者帐户,然后将手机重新连接到计算机。apple将在钥匙串中生成新的开发者帐户,然后可以运行程序。这是一个问题。

答案 35 :(得分:0)

我不确定100%是否是一种解决方案,但是我关闭了蓝牙,它停止说:

  

[名称]的iPhone拒绝启动请求。

答案 36 :(得分:0)

原始问题的许多答案证明了Apple在代码签名和配置方面的混乱。

简短答案: 我可以通过简单地部署到另一台设备上,然后返回到首次失败的设备来再次成功启动设备:相同的AppleId,相同的OS(两个设备上的iOS 12.4.1,macBook上的macOS Mojave 10.14.3),相同的项目,相同的Xcode 10.1。无需在项目方案中取消选中“调试可执行文件”。

详细答案: 从根本上讲很难解决该问题,因为该错误是非描述性的。从发布的答案来看,似乎可能有不同的原因,可能与用于签名的AppleId的某些配置有关。

缩小搜索范围的一种方法是使用Apple Configurator(由@notytony here提示)或仅在控制台中的Window -> Devices and simulators -> Open Console下,然后选择设备(以前通过USB电缆)。这样,我就可以捕获错误消息:

does not pass CT evaluation; Unrecoverable CT signature issue

这使我指向this answer,它建议检查几个证书(最著名的是“ Apple Worldwide开发人员关系认证中心”),以确保将信任级别设置为“ Use System Defaults”。仍然无法在设备上启动,但是以前的消息不再存在于日志中。没有显示其他有意义的错误。

我被困在这里。此处未列出任何内容:重新启动设备,吊销证书和配置文件并重新创建新文件,清理构建,重新启动Xcode,从AppleID退出并再次登录,...目前唯一的解决方法(且仅在解决了来自证书)是要取消选中项目方案中的“调试可执行文件”,这是不理想的。

然后我在另一台设备上进行了测试,即使启用了“调试可执行文件”,它也可以正常工作。之后,在原始设备上启动也可以正常工作。必须在该AppleId帐户上重置一些内容,以便它可以成功在原始设备上再次签名并配置应用程序。

答案 37 :(得分:0)

当Apple开发人员帐户因停止付款而过期时,也会发生这种情况。 旧的证书可能仍可用于调试断点达一周或几周。 然后有一天,iPhone设备上所有突然调试的步骤都将被拒绝。

该解决方案是在支付开发者帐户费用后重新生成证书。 被苹果激活可能需要几个小时。

请记住要在Mac的钥匙串应用中删除旧证书(ios开发,全球的Apple)。 可以选择撤消Apple Developer网站上的旧证书以进行清理。 并创建一个新的(直接使用xcode也可以) 这将启用iPhone调试。

答案 38 :(得分:0)

  1. 关闭iPhone上的应用程序
  2. 按下iPhone上的锁定按钮以关闭iPhone。
  3. 打开iPhone,运行应用程序

答案 39 :(得分:0)

Xcode 10-通过使用密钥删除重复的证书com.apple.kerberos.kdc解决了问题。 打开KeychainAccess.app->系统->使用

删除com.apple.kerberos.kdc

答案 40 :(得分:0)

我尝试了所有的解决方案。最后,这是我的问题: 在安装开发人员证书时,我将其设置为“始终信任”,当我将其更改回默认值时,它可以正常工作。 所有功劳归功于:https://blog.supereasyapps.com/how-to-fix-iphone-and-ipad-app-codesign-crashes-using-an-apple-developer-profile/

答案 41 :(得分:0)

我有类似的问题,在我的情况下,问题出在我的目标的构建设置中。 Mach-O类型设置为“动态库”而不是“可执行文件”。

答案 42 :(得分:0)

我在运行旧代码库时遇到了这个问题。我刚刚从EditScheme中禁用了后台提取选项,它运行了。

编辑方案 - &gt;选项标签 - &gt;禁用后台提取

答案 43 :(得分:0)

对我来说,这是因为xcode对要使用的设备配置文件感到困惑。我在下面的步骤中使用了Apple Configurator 2.

  1. 打开Apple Configurator
  2. 选择设备
  3. 操作
  4. 删除
  5. 配置文件
  6. 选择旧的不需要的配置文件
  7. 点击“删除个人资料”
  8. 等待几分钟后,删除了不需要的配置文件。并且在启动时重新运行应用程序没有错误。

答案 44 :(得分:0)

今天,我也遇到了这个问题。这是我的解决方法。 Xcode 9.0,iPhone 6s,使用我的帐户自动管理签名。 当我选择“iPhone 6s”时,我发现iPhone 6s后面有一个徽标 这是Xcode 9.0的新功能,它可以在没有字符串连接计算机的iPhone上运行应用程序(iPhone和Mac必须连接相同的网络)。 所以,我尝试改变这种连接方式。 打开“设备和模拟器” - &gt;取消选择“通过网络连接” 然后,我清理,重建并运行我的项目。它的工作原理! 如果这种方法可以帮到你,我会很高兴。

答案 45 :(得分:0)

升级Xcode 8项目以在Xcode 9中运行时,我发生了这个错误,但Build Settings中的iOS Base SDK仍然是以前版本的iPhoneOS10.3.sdk,并且说找不到SDK。但是,该应用程序仍然在设备上构建和运行,但无法启动。将iOS Base SDK更新到iOS 11.0可以解决此问题。

答案 46 :(得分:-2)

我有一个免费的开发者帐户。对我来说,我通过向Apple支付了99.00美元的开发人员费用来解决此问题。

然后返回Xcode PRODUCT菜单并选择CLEAN BUILD FOLDER。之后,该错误消失了。