ChatGPT解决这个技术问题 Extra ChatGPT

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

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

“iPhone 拒绝了发布请求。”

https://i.stack.imgur.com/069JN.jpg

它昨天工作。它确实在模拟器上工作。我已经重新启动了我的电脑 iPhone,卸载了应用程序,清理了构建。没有想法了。

这是一个不同的错误
我也面临这个问题。原来我不小心改变了方案。尽管我在调试模式下使用开发人员证书,但它在构建配置中设置为发布。
我刚刚重启了我的设备
选择 Automatically manage signing 解决了这个问题

N
Nikhlesh Bagdiya

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


您确实需要使用“iOS 开发”配置文件。
我的是手动签名的,我使用的是 Ad-hoc 配置进行开发。我希望 Apple 在构建时提示有关此内容的错误,但您得到的只是配置文件下拉列表中灰色的“无法识别”部分。如果您不检查该下拉菜单,您将永远不会知道。而且,如果您像上面提到的那样禁用调试器,它将与 Ad-hoc 签名一起使用。但是,这只是隐藏了问题,并不能解决问题。
[对可能有帮助的人] 我正在使用 Fastlane,我通过删除 Keychain Access 中的 iPhone Developer: <My Name> (XXXXXX) 证书解决了这个问题,因为它会被自动创建(不知道如何或何时) Xcode。删除后,我的所有错误都立即得到修复。
请注意,仍然可以通过使用 Nastya Gorban 和 Rio Weber 解决方案以及 Ask on Launch 来启动分发签名。
从上周四开始我就遇到了这个问题,似乎无法解决。我已经尝试了一切,更新 Xcode,更新 Mac,开始一个新项目,删除 iPhone 开发人员并让它重新创建,使用不同的用户登录/注销,尝试不同的帐户等,有什么建议吗?
C
Cœur

它使用 Xcode 9.x 或更高版本发生。

我将此问题追溯到产品方案中的“调试可执行文件”复选框(产品->方案->编辑方案->信息->调试可执行文件复选框)。我取消选中,这停止发生(以及其他几个奇怪的问题 - 控制台中没有输出是一个)。


这有效,但禁用了调试。在 XCode 9.1 中发生的正确修复是转到 Apple 开发人员门户并创建开发人员配置文件。然后在项目设置中我使用这个(而不是自动的)来运行它,它工作得很好!似乎自动配置文件管理效果不佳。我还必须使用 AdHoc 配置文件上传到 HockeyApp。
Edward B - 使用手动配置文件并不能解决我的问题。同样的错误 - 拒绝启动。
嗯,您是否尝试过开发配置文件与分发配置文件?这也是一个问题(以前不是只使用自动)
我正在使用开发配置文件 - 我是 iOS 开发新手,还没有发布任何东西。我应该尝试分发配置文件吗?当然这是一个或多个错误,这不是应该如何工作的吗?当事情一天奏效而第二天却没有时,令人难以置信的沮丧。当模拟器不执行推送通知并且您无法让您的应用程序在实际设备上运行时,很难调试推送通知!
是的,我不得不说像这样破坏的东西很常见。 Xcode、iTunesConnect 或操作系统本身。很高兴有一个大社区并且有解决方法,但这总是令人沮丧。如果您已经手动添加了开发配置文件,我不完全确定。如果您没有手动添加您的设备 UDID,您也可以尝试重新生成配置文件并下载它,这可能会有所帮助。这个问题很奇怪,但总是很好尝试,因此您不必禁用调试。
R
Rio Weber

我有一个解决方法:如果您将方案更改为“启动时询问”,它会起作用。

在 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 中的一个问题,直到我更新才开始发生在我身上。 (-v 9.2)
顺便说一句,只有在您已经尝试以常规方式运行应用程序之后才执行此操作。其他应用程序不会在那里“询问”。
相同结果的更简单解决方法:只需从方案中取消选中“调试可执行文件”。
这对我来说并不能解决它:(
B
Binshad

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

https://i.stack.imgur.com/qYtTT.png


要导航到 XCode 中的上述部分,请转到菜单产品 > 编辑方案(运行选项卡)。
当心 - 这禁用了调试日志,这非常有用!
禁用调试器有什么帮助?您的断点将不再起作用
无法启动 com.xyz.xyz
C
Cœur

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

编辑方案 -> 信息 -> 可执行文件 -> 启动时询问

这适用于我的临时配置文件。


相同结果的更简单解决方法:只需从方案中取消选中“调试可执行文件”。
现在无法启动 com.xyz.xyz
M
Mr Rogers

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

(请求被拒绝);原因:“请求被服务委托(SBMainWorkspace)拒绝,原因是:安全性(“无法启动 {com.my.bundleID},因为它具有无效的代码签名、权利不足或其配置文件未被用户明确信任")"

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

之后,一切都按预期进行。

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


这可能会在 Xcode 9.3 中修复。我现在得到一个定义更好的错误对话框,告诉我接受证书。耶!
感谢您解决我的问题。
A
Antonin Charvat

iPhone的简单重启帮助了我。


S
Shyam

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

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


K
Kameshwaran Balasubramanian

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

单击编辑方案顶部导航器选项卡。

https://i.stack.imgur.com/ssq9n.png

单击运行菜单上的信息。在 Executable 下拉列表中选择“Ask on Launch”选项 -> 然后关闭并运行一次构建。

https://i.stack.imgur.com/e8Ecg.png

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

Apple Reference


使用 Xcode 9.3!对我来说,这发生在从自动代码签名切换到手动代码签名时。
c
chbrown

在使用 iOS 10.3 部署到非模拟 iPhone 6s 时使用 Xcode 9.0 得到了这个。

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

修复它的诀窍是关闭 iPhone,然后再次打开它。

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


我最终重新启动了我的手机并再次启动。强制退出没有帮助。
A
A. K.

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

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


N
Nikita Haiko

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

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


d
d0ye

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


A
Anton Malyshev

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


i
iPhoneDeveloper

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

从 Mac 中移除您连接的 iPhone、iPad。重新启动您的设备。在 Xcode 设置中选择“自动管理签名”。重新连接您的 iPhone、iPad。


H
HasilT

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

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 上的所有开发者证书现在都显示有效。而且,我可以在我的 Keychain access 上看到两个 AWDRI 证书,一个在 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 中级证书由 Xcode 11.4.1 或更高版本自动下载,可在证书颁发机构页面上下载。通过验证到期日期设置为 2030 来确认安装了正确的中间证书。

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

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


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

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

场景:我检查了设备的“通过网络连接”选项。并尝试在连接了 USB 电缆的情况下将应用程序运行到此设备。

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


A
A.HEDDAR

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

产品 > 方案 > 编辑方案

在 Run (Section) / info (tab) [select] Release 而不是 debug 作为 Build Configuration 如下:

https://i.stack.imgur.com/ooyIX.png

这是自 Xcode 10.1 以来的回归

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


我或多或少得出了相同的结论。我已经使用不同的帐户进行了尝试,更新了所有证书并尝试了针对此问题的所有答案。结果总是一样的,只是行不通。我的设备:macOS Mojave,版本 10.14.3,带有 iOS 12.1.4 的 iPhone SE,Xcode 10.1 (10B61)
有了这个提示,我可以在 iphone 上启动应用程序,但看起来应用程序部分工作并在我按下某个按钮时立即崩溃
迁移到 10.14.4 (18E226) 后一切正常
D
Dilip Kumar

我遇到过同样的问题 。它是 Xcode 9.1 中的一个错误。现在有一个技巧可以让它工作。锁定您的手机。运行代码。 Xcode 将要求解锁 iPhone。


r
rockdaswift

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


a
alan.raceQs

这是 Xcode 中的一个间歇性错误 - 我刚刚停止并启动了我所有的设备,它神奇地工作(在搞砸了 1/2 小时后)我已经在一夜之间将 MacOS 升级到 10.13.04,这显然让一些事情感到不安! Xcode 9.3、iOS 11.3 watchOS 4.3


R
Rich

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

第 1 步:Windows > 设备和模拟器。

第 2 步:取消配对设备。

第 3 步:重新连接设备并信任。

第 4 步:运行应用程序。答对了。


L
Lee Probert

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


C
Cà phê đen

打开Capabilities中的App Groups,等待App...生效,然后关闭App Groups,就成功了:

https://i.stack.imgur.com/Suypz.png


有效!重建损坏的配置文件的那个东西。我刚刚发现并来这里发布这个作为答案,但是你在这个问题上打败了我😄
不知道在哪里可以找到 APP 组!
B
Brijesh Lakkad

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

发生错误是因为它使 Runner 对要使用的配置文件感到困惑。

当您在 Xcode > Targets > Signing 中的配置文件中添加新帐户时,您最常会收到此错误。

您可以通过仅在一个配置文件之前使用来消除此错误。

无需创建新用户。

或者您可以使用您在 iPhone 的个人资料中使用的帐户登录(我这样做了!)

快乐的时光 :)


a
ackh

如果您在今天(2019 年 3 月 20 日)前几天出现此问题,则很可能与颁发了错误的代码签名证书有关。在这种情况下,您应该能够通过重新创建代码签名证书来解决它。 This SO 问题已经有一个 answer that explains you how to do so


D
Dragas

我不确定这是一个修复程序,还是只是另一种解决方法,但从我的设备上卸载应用程序会有所帮助。我仍然不确定是什么原因造成的,但@MrRogers answer 帮助我解决了这个问题。


S
Saif

对我来说,问题出现了,因为我使用 Distribution Provisioning Profile 进行调试。

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

步骤:(Xcode 11.2.1)

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

https://i.stack.imgur.com/L1OTc.png


M
Mohmmad S

其他回答都没有奏效-

Xcode 11+

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

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

https://i.stack.imgur.com/SgGtP.png


它适用于任一启动选项,该解决方案包括在您的 Xcode 构建方案上禁用“调试可执行文件”。
P
PaulPaulBoBo

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


你好幸运啊。这对我的“拒绝启动”问题没有影响。我宁愿幸运也不愿聪明。
祝你好运基于聪明。