使用 Xcode beta 9(v4) ,我试图通过点击“播放”按钮来启动应用程序。我得到一个“构建成功”,但就在启动之前,Xcode 中出现了一条弹出消息:
“ iPhone 拒绝了发布请求。”
昨天还管用的。在模拟器上确实管用。我重启了我的电脑,iPhone 卸载了应用程序,清理了构建。没办法了。
这可能是代码签名问题。请确保您与开发人员签署,而不是分发。
这个错误发生在我升级 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
Settings
General
Device Management
{My Apple ID}
Trust
在那之后,一切都如期进行。
在之前的 iOS 版本中,我的设备上会出现一个对话框,告诉我这就是问题所在。也许苹果在 iOS11上取消了它。🤔
只需在常规-> 目标的签名属性中勾选“自动管理签名”即可。它将为您创建 Development 供应配置文件,并在设备上运行。
这是在 Xcode 9.0中获得的,同时部署到了一个非模拟的 iOS10.3版本的 iPhone6s 上。
在这事发生之前,我已经强制退出了这个应用程序。否则,什么都没有改变; 所有的开发者签名凭证仍然是可信的,应用程序仍然在 iPhone 的设置中被标记为验证。
解决这个问题的方法是先关掉 iPhone,然后再重新打开。
看看我的日志,似乎 applicationWillTerminate在这之前被触发了一段时间; 我认为我强制退出的应用程序的实例一定是某个僵尸进程?
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,步骤如下。
等待几分钟后,不需要的配置文件被删除。重新运行的应用程序在启动时没有出现错误。
我在 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 问题,请按照以下步骤操作。
这解决了我的问题,当我得到这个问题。
苹果参考文献
我也遇到过类似的问题,在我的例子中,问题出现在我的目标的构建设置中。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
这些简单的步骤帮助了我。
让我告诉你一个解决我问题的方法:
对我来说,这个问题与手动安装的企业证书有关,并且必须在开发和发布方案中使用它。我必须相信设备上的证书才能启动应用程序,但它永远不会启动,因为我一直收到那个被拒绝的消息。最终,编辑方案并将其设置为在调试之前等待应用程序被附加,这样就达到了目的。
可以通过取消选中“编辑方案”中的“调试可执行文件”来解决此问题。
当苹果开发者的账户因为停止付款而到期时也会发生这种情况。 旧的证书可能在一周或几周内仍然可用于调试断点。 然后有一天,所有突然出现在 iPhone 设备上的调试都会被拒绝。
解决方案是在支付开发人员帐户后重新生成证书。 可能需要几个小时才能被苹果激活。
请记住删除旧的证书(ios 开发,苹果全球,)在您的苹果电脑的钥匙链应用程序。 撤销旧的证书在苹果开发者网站可选的清理。 然后创建一个新的(直接使用 xcode 也可以) 这将启用 iphone 调试。
我有一个免费的开发者账户,对我来说,我通过向苹果支付99美元的开发者费用来解决这个问题。
然后返回到 Xcode PRODUCT 菜单并选择 CLEAN BUILD 文件夹。
我已经试过所有的答案,没有一个适合我, 问题来自 Xcode 本身,与配置文件和证书无关:
产品 > 方案 > 编辑方案
在运行 (部分)/info (标签)中[选择] 放手而不是像下面这样调试 构建配置:
这是从 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 电缆连接)。这样我就能捕捉到错误信息:
Window -> Devices and simulators -> Open Console
does not pass CT evaluation; Unrecoverable CT signature issue
这让我想到了 这个答案,它建议检查几个证书(最著名的是“苹果全球开发者关系认证机构”) ,确保信任级别设置为“使用系统默认值”。我还是不能在设备上启动,但是之前的消息已经不在日志中了。没有显示其他有意义的错误。
我被困在这里了。这里列出的所有东西都没有用: 重启设备,撤销证书和配置文件,重新创建新的,干净的构建,重新启动 Xcode,从 AppleID 登出并再次登入... ... 此时唯一的解决办法(并且只有在修复了证书的信任问题之后)是取消检查项目方案中的“调试可执行文件”,这并不理想。
然后我在另一台设备上测试,它工作正常,即使启用了“调试可执行文件”。在那之后,在原始设备上启动也再次工作。AppleId 帐户上一定有什么东西被重置了,它可以成功地在原始设备上再次签署和提供应用程序。
打开 App Groups的能力,等待 App...有效,然后关闭 App Groups,它工作:
App Groups
App...
我不能100% 肯定这是否是一个解决方案,但我 关掉蓝牙和它停止说:
[名称] iPhone 拒绝发布请求。
我在 xcode10.1中遇到了同样的问题。我发现许多重复开发人员帐户在钥匙链。从密钥链中删除所有开发者帐户,重新连接手机到计算机。苹果将在密钥链中生成新的开发者帐户,然后可以运行程序。这就是问题所在。
在看了所有网上提供的解决方案后,我终于找到了一个,下面就是这些:
快乐日子:)
我仔细阅读所有的答案,但它们对我没有帮助。我的解决办法:
如果在2019年3月20日之前的几天发生了这个问题,那么很可能是因为发出了错误的代码签名证书。在这种情况下,您应该能够通过重新创建代码签名证书来解决这个问题。所以问题已经有了一个 解释你如何做的答案。
我不知道这是一个修复,或只是另一个解决方案,但卸载应用程序从我的设备帮助。我仍然不确定是什么原因造成的,但@Rogers 回答帮助我找出了原因。
我有这个问题,我正在运行的 xCode 10.2.1,我不知道是什么原因,但第一件事,你应该尝试做一个硬重置的设备,你正在尝试建立。这就解决了我的问题。我打赌这些其他的答案有优点,但任何答案,告诉你编辑方案不会修复它,只是掩盖问题,直到你需要调试。首先尝试我的修复,看看它是否工作,如果它不看另一个。这似乎不仅仅是由一个问题引起的。
对我来说,这个问题出现是因为,我正在使用 Distribution Provisioning Profile进行调试。
Distribution Provisioning Profile
我们无法使用分发配置文件进行调试,将其更改为 Development Provisioning Profile修复了这个问题。
Development Provisioning Profile
步骤: (Xcode 11.2.1)
TARGETS
Signing & Capabilities
Singing
Development profile
Automatically manage signing
检查配置文件可能是无效的 Https://developer.apple.com/account/resources/profiles/list
如果有人试图在通过 XCode 连接的真实 iOS 设备中调试应用程序,请确保选择了使用 iOS development certificate的临时配置文件。
iOS development certificate
如果你已经选择了临时配置文件与 distribution certificate,那么你将不能用于调试的目的,这个启动应用程序本地通过 XCode 将无法工作。
distribution certificate
没有其他的回答工作-
Xcode 11 +
您必须手动在设备上运行应用程序,但这将使调试器保持附加状态,因为其他一些解决方案调试器将被分离。
我知道这个帖子里有很多答案。每一个我都试过了,但没有一个对我有用。
TLDR:
解决办法如下:
在浏览 Keychain access中的所有证书时,我发现所有的开发人员证书都处于无效状态。而且,我认为,这是这个问题的根本原因。我已经尝试了这里的解决方案,说删除 Apple Worldwide Developer Relations Intermediate Certificate和一切。但是,没有用。
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。
Apple Worldwide Developer Relations Intermediate certificate (AWDRI)
AWDRI
当我将 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 的回答中建议的那样。)