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

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

“ iPhone 拒绝了发布请求。”

Launch request denial error popup

昨天还管用的。在模拟器上确实管用。我重启了我的电脑,iPhone 卸载了应用程序,清理了构建。没办法了。

123747 次浏览

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

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

对我来说,问题是我使用的是一个免费的开发者帐户(只是用我的苹果 ID 登录)。当查看我找到的设备日志时(粗体添加)

原因:”服务委托拒绝了请求 (SBMainWorkspace)的原因: 安全性(“无法启动 { com.my.bundleID } ,因为它的代码签名无效,不够充分 应享权利或其配置文件不是 明确信任的 用户 ”)”

这让我意识到我需要进入 Settings-> General-> Device Management-> {My Apple ID}-> Trust

在那之后,一切都如期进行。

在之前的 iOS 版本中,我的设备上会出现一个对话框,告诉我这就是问题所在。也许苹果在 iOS11上取消了它。🤔

只需在常规-> 目标的签名属性中勾选“自动管理签名”即可。它将为您创建 Development 供应配置文件,并在设备上运行。

这是在 Xcode 9.0中获得的,同时部署到了一个非模拟的 iOS10.3版本的 iPhone6s 上。

在这事发生之前,我已经强制退出了这个应用程序。否则,什么都没有改变; 所有的开发者签名凭证仍然是可信的,应用程序仍然在 iPhone 的设置中被标记为验证。

解决这个问题的方法是先关掉 iPhone,然后再重新打开。

看看我的日志,似乎 applicationWillTerminate在这之前被触发了一段时间; 我认为我强制退出的应用程序的实例一定是某个僵尸进程?

它发生在使用 Xcode 9.x 或更新的情况下。

我将这个问题追溯到产品方案中的“ 调试可执行文件”复选框(product-> scheme-> edit scheme-> info-> debug execute checkbox)。我 不受约束和这停止发生(以及一对夫妇其他怪异的问题-没有输出在控制台是一个)。

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

编辑计划-> 资讯-> 可执行文件-> 启动时询问

这对我来说很有用。

我也有同样的问题。这是 Xcode 9.1中的一个 bug。现在有一个办法可以让它起作用。锁好你的手机。运行代码。Xcode 会要求解锁 iPhone。

我有个办法:
如果你改变方案’发射时问’它的工作。


在 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


虽然有点烦人,但很管用。

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

这可能会导致用 Git 切换错误的分支,确保你切换的分支不会太老(因为它可能会导致代码签名问题) ,如果这仍然困扰,在右边的分支上,选择签名(调试)下的 供应概况,如果你不能自动管理签名。

问题是在某些秒后 xcode‘ 暂停’。解决方案是编辑方案并要求 xcode“等待”直到可执行文件被启动。

在「编辑方案」中,选取「 等待启动可执行文件」而非「自动」

对我来说,这是由于 xcode 在使用什么设备配置文件方面的困惑。我使用了 Apple Configurator 2,步骤如下。

  1. 打开苹果配置器
  2. 选择装置
  3. 行动
  4. 拿开
  5. 档案
  6. 选择旧的不需要的配置文件
  7. 点击“删除配置文件”

等待几分钟后,不需要的配置文件被删除。重新运行的应用程序在启动时没有出现错误。

我在 Xcode 9.1中遇到了这个问题

场景: 我为设备选择了“ Connect via Network”选项。并尝试运行应用程序,这个设备与 USB 电缆连接。

解决方案: 只需删除 USB 电缆和运行。

我只是用苹果配置器清除了配置文件,重新启动了 iDevice,然后像往常一样工作。

IPhone 的简单重启帮了我大忙。

这是 Xcode 的一个间歇性错误——我停下来启动了所有的设备,然后它就神奇地工作了(在混乱了半个小时之后) 我一夜之间就把 MacOS 升级到了10.13.04,这显然打乱了我的计划! Xcode 9.3,iOS 11.3 watch OS 4.3

我在运行一个旧的代码库时遇到了这个问题,我只是禁用了 EditScheme 的后台提取选项,它工作了。

编辑方案-> 选项卡-> 禁用后台读取

对我来说,问题是由于代码签署的应用程序与 Ad hoc 配置文件。

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

我最近遇到了这个问题,我找到了解决这个疯狂问题的办法。这是用于修复此问题的 Scheme 问题,请按照以下步骤操作。

  1. 单击“编辑方案”顶部导航器选项卡。

enter image description here

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

enter image description here

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

苹果参考文献

我也遇到过类似的问题,在我的例子中,问题出现在我的目标的构建设置中。Mach-O 型被设置为“动态库”而不是“ 可执行”。

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

Xcode 10-通过删除带密钥的重复证书 com.apple.kerberos.kdc 解决了问题。 用 < strong > key 打开 KeychainAccess.app-> system-> delete com.apple.kerberos.kdc

这些简单的步骤帮助了我。

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

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

  • 步骤1: Windows > 设备和模拟器。
  • 步骤2: 取消配对设备。
  • 步骤3: 重新连接设备和信任。
  • 步骤4: 运行应用程序。
  1. 关闭 iPhone 上的应用程序
  2. 在 iPhone 上按下锁定按钮关闭 iPhone。
  3. 打开你的 iPhone,运行应用程序

对我来说,这个问题与手动安装的企业证书有关,并且必须在开发和发布方案中使用它。我必须相信设备上的证书才能启动应用程序,但它永远不会启动,因为我一直收到那个被拒绝的消息。最终,编辑方案并将其设置为在调试之前等待应用程序被附加,这样就达到了目的。

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

enter image description here

当苹果开发者的账户因为停止付款而到期时也会发生这种情况。 旧的证书可能在一周或几周内仍然可用于调试断点。 然后有一天,所有突然出现在 iPhone 设备上的调试都会被拒绝。

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

请记住删除旧的证书(ios 开发,苹果全球,)在您的苹果电脑的钥匙链应用程序。 撤销旧的证书在苹果开发者网站可选的清理。 然后创建一个新的(直接使用 xcode 也可以) 这将启用 iphone 调试。

我有一个免费的开发者账户,对我来说,我通过向苹果支付99美元的开发者费用来解决这个问题。

然后返回到 Xcode PRODUCT 菜单并选择 CLEAN BUILD 文件夹。

我已经试过所有的答案,没有一个适合我, 问题来自 Xcode 本身,与配置文件和证书无关:

产品 > 方案 > 编辑方案

在运行 (部分)/info (标签)中[选择] 放手而不是像下面这样调试 构建配置:

enter image description here

这是从 Xcode 10.1开始的回归


配置: Xcode Version < strong > 10.1(10B61) Iphone X/< strong > IOS 12.1.4

对最初问题的许多答案证明了苹果在代码签名和供应方面的混乱。

简短的回答: 我可以通过简单地部署到另一个设备上,然后回到它第一次失败的设备: 相同的 AppleId,相同的操作系统(两个设备上的 iOS 12.4.1,MacOS Mojave 10.14.3在 macBook 上) ,相同的项目,相同的 Xcode 10.1。不需要在项目方案中取消选中“调试可执行文件”。

长话短说: 这个问题基本上很难捕捉,因为这个错误是非描述性的。从公布的答案来看,似乎有不同的原因,可能与用于签名的 AppleId 的某些配置有关。

缩小搜索范围的一种方法是使用 苹果配置器(如@notytony 给你所示)或者简单地在 Window -> Devices and simulators -> Open Console下的控制台中,然后选择设备(先前通过 USB 电缆连接)。这样我就能捕捉到错误信息:

does not pass CT evaluation; Unrecoverable CT signature issue

这让我想到了 这个答案,它建议检查几个证书(最著名的是“苹果全球开发者关系认证机构”) ,确保信任级别设置为“使用系统默认值”。我还是不能在设备上启动,但是之前的消息已经不在日志中了。没有显示其他有意义的错误。

我被困在这里了。这里列出的所有东西都没有用: 重启设备,撤销证书和配置文件,重新创建新的,干净的构建,重新启动 Xcode,从 AppleID 登出并再次登入... ... 此时唯一的解决办法(并且只有在修复了证书的信任问题之后)是取消检查项目方案中的“调试可执行文件”,这并不理想。

然后我在另一台设备上测试,它工作正常,即使启用了“调试可执行文件”。在那之后,在原始设备上启动也再次工作。AppleId 帐户上一定有什么东西被重置了,它可以成功地在原始设备上再次签署和提供应用程序。

打开 App Groups的能力,等待 App...有效,然后关闭 App Groups,它工作:

enter image description here

我不能100% 肯定这是否是一个解决方案,但我 关掉蓝牙和它停止说:

[名称] iPhone 拒绝发布请求。

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

在看了所有网上提供的解决方案后,我终于找到了一个,下面就是这些:

  • 发生错误是因为它使 Runner 对使用什么配置文件感到困惑。
  • 当您在 Xcode > Targets > Signing 配置文件中添加新帐户时,通常会得到这个错误。
  • 只需使用“前一个配置文件”即可删除此错误。
  • 不需要创建新用户。
  • 或者你可以用你在 iPhone 的个人资料中使用的账户登录(我做到了!)

快乐日子:)

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

  1. 转到 Xcode 首选项,选择 account (something + ,)
  2. 选择您的苹果 ID,选择团队,然后单击“管理证书”
  3. 在左下角弹出菜单中点击 + 按钮并选择 iOS 开发,然后点击完成并关闭弹出
  4. 尝试重新启动应用程序,现在应该没问题。

如果在2019年3月20日之前的几天发生了这个问题,那么很可能是因为发出了错误的代码签名证书。在这种情况下,您应该能够通过重新创建代码签名证书来解决这个问题。所以问题已经有了一个 解释你如何做的答案

我不知道这是一个修复,或只是另一个解决方案,但卸载应用程序从我的设备帮助。我仍然不确定是什么原因造成的,但@Rogers 回答帮助我找出了原因。

我有这个问题,我正在运行的 xCode 10.2.1,我不知道是什么原因,但第一件事,你应该尝试做一个硬重置的设备,你正在尝试建立。这就解决了我的问题。我打赌这些其他的答案有优点,但任何答案,告诉你编辑方案不会修复它,只是掩盖问题,直到你需要调试。首先尝试我的修复,看看它是否工作,如果它不看另一个。这似乎不仅仅是由一个问题引起的。

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

我们无法使用分发配置文件进行调试,将其更改为 Development Provisioning Profile修复了这个问题。

步骤: (Xcode 11.2.1)

  1. 选择 Project,在 TARGETS下,选择正确的目标。
  2. 切换到 Signing & Capabilities
  3. Singing部分中,将供应配置文件更改为 Development profile 或者,您可以只检查 Automatically manage signing

enter image description here

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

如果你已经选择了临时配置文件与 distribution certificate,那么你将不能用于调试的目的,这个启动应用程序本地通过 XCode 将无法工作。

没有其他的回答工作-

Xcode 11 +

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

您必须手动在设备上运行应用程序,但这将使调试器保持附加状态,因为其他一些解决方案调试器将被分离。

enter image description here

我知道这个帖子里有很多答案。每一个我都试过了,但没有一个对我有用。

TLDR:

解决办法如下:

  • 更新到 xcode 11.4.1或更新

在浏览 Keychain access中的所有证书时,我发现所有的开发人员证书都处于无效状态。而且,我认为,这是这个问题的根本原因。我已经尝试了这里的解决方案,说删除 Apple Worldwide Developer Relations Intermediate Certificate和一切。但是,没有用。

然后我发现了这个 链接。显然,Apple Worldwide Developer Relations Intermediate certificate (AWDRI)将在2023年到期,开发人员证书或在2021年1月28日之后颁发的任何其他证书都不会使用这个特定的 AWDRI证书。取而代之的是,他们使用一个续签的证书,该证书将于2030年到期。问题来了,新更新的证书只适用于11.4.1或更新的 xcode 版本。而且,我有一个 旧版本的 xcode

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

我分享了 链接的描述:

目前的苹果全球开发者关系认证中级证书(中级证书)将于2023年2月7日到期。更新后的证书将用于签署2021年1月28日后为苹果开发者项目签发的新软件签名证书。其余的服务证书将在将来更新,此页将更新以反映其他证书更改。

而且..。

这一要求也影响到所有在2021年1月28日之后生成的软件签名证书,这些证书是由在 Xcode 拥有个人账户的开发者,以及苹果开发者计划、苹果开发者企业计划和 iOS 大学开发者计划的成员提供的。

新的苹果全球开发者关系中级证书可以通过 Xcode 11.4.1或更高版本自动下载,并可在证书颁发机构页面上下载。通过验证过期日期设置为2030,确认安装了正确的中间证书。

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

Xcode 11.4.0及更早版本可能无法使用由新的 Apple Worldwide Developer Relations 证书中级证书颁发的签名证书对软件进行签名。如果无法在构建机器上升级到支持 MacOS 或 Xcode 的版本,可以使用早期的 Xcode 客户端构建和归档应用程序,并使用最新版本签名发布。或者,您可以使用协同设计工具使用命令行对软件进行签名。

对我来说,问题是我的开发和发行证书在 Keychain 中显示为不可信。这里的解决方案解决了这个问题:

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

基本上,有一个更新的苹果开发者关系中级证书,您需要下载。(可能是因为如果我升级到一个更新版本的 Xcode,就会解决这个问题,就像 @ HasilT 的回答中建议的那样。)