调试模式下未找到此可执行文件的有效配置文件。

241

我在试图在设备上调试应用程序时,遇到了这个错误。

我按照开发者门户网站上的说明创建了开发配置文件。我的开发设备已被选择为该配置文件,并且我从目标的代码签名身份菜单中选择了正确的配置文件。我多次重新创建了配置文件,并删除并重新安装了它,并重新创建了项目,但每当我尝试在设备上进行调试时,仍然会出现该错误。

顺便说一句,adhoc分发配置文件可以正常工作。

我花了整天的时间寻找解决方案,但没有任何进展。有人有解决方案吗?


2
苹果公司在配置门户网站内提供了详细的说明:证书配置文件 - Casebash
奇怪的是,我只在Xcode组织器控制台中看到这个错误,但应用程序仍然可以安装和运行,没有任何问题。我正在使用Ad Hoc配置文件和App Store分发配置文件进行构建。它是否会抱怨Ad Hoc配置文件,但使用App Store分发配置文件运行? - Rich Everhart
我按照这个教程做了,对我很有帮助!希望它也能帮到你。http://www.youtube.com/watch?v=dUdHifLTyrE - matiaslezin
我曾经遇到过同样的问题。设备没有被添加到配置文件中,这就是原因。 - kelin
1
如果您在应用程序正常工作一周后收到此消息,并且使用的是免费的开发者帐户,则必须重新安装。请参阅此链接 - Ryan Haining
如果您在 Cordova / Ionic3 应用程序中遇到此问题,请确保您的项目设置选择了传统的构建设置。我花了一段时间才弄清楚这一点。 - dgbt
43个回答

187

可能是因为您的iPhone未被配套门户网站识别。

解决方案:

  1. 在Xcode中,转到-->生成-->清除所有目标。

  2. 在“组和文件”中-->目标-->展开它-->右键单击您的应用程序并选择清理“您的应用程序”

  3. 转到->窗口-->组织者

  4. 在左侧的设备选项卡中,选择您的iPhone

  5. 在所选iPhone的“配置文件”部分中删除所有当前配置文件(如果有)

  6. 拔下您的iPhone,然后重新插入。

  7. 转到->窗口-->组织者-->右键单击您的iPhone-->将设备添加到配套门户网站

  8. 现在,请确保您已在“编辑项目设置” -> “生成”-->“代码签名”中选择了适当的代码签名身份。

构建并运行。


8
并非必须如此。我已按照你提到的所有步骤操作,我的设备已经在预配门户中列出,但我仍然收到这个错误。 - Nate
35
现在这段内容已经过时了。在 Xcode 4.3+ 中,前往“组织者” > 选择设备 > 点击屏幕底部的“添加到门户网站”,就可以完成添加!如果第一次在 Xcode 组织者中输入密码错误,它仍会安装设备,但不会有有效的证书。在“库”下刷新配置文件不会影响设备关联的证书。完成! - pchap10k
1
我没想到这会起作用,但它完全奏效了。谢谢!省去了我很多头疼的时间。 :) 顺便说一句,我正在使用Xcode 4.5。 - Mona
1
当我尝试“添加到预配门户”时,出现了一个错误提示,告诉我需要在developer.apple.com网站上接受新的协议。我先使用Web浏览器进行了操作,然后一切都很顺利。谢谢! - haa
11
过时了。在 xCode 6 中完全不同了……请更新你的答案。 - stevebot
显示剩余3条评论

44

在 Xcode 10 中,我通过将项目的构建系统从“新的构建系统”切换到“传统的构建系统”来解决这个问题(文件 -> 项目设置)。


5
原问题是“我花了一整天的时间寻找解决方案,但没有任何结果。有人有解决办法吗?”与“未找到适用于调试模式的此可执行文件的有效配置文件”错误相关。在新版本的Xcode中更改构建系统可以解决该问题。 针对出现此错误的各种情况已发布了很多解决方案。 - che
3
@user191712 不用理那些想当版主的人。你的回答让我避免了花数小时去深入探究与错误无关的事情。谢谢! - remondo
我忘记检查这个配置了...谢谢老兄! - cesarak
非常感谢。这对我来说起作用了,而且没有浪费时间! - Deniz Öztürk
1
出于某种我仍然不理解的原因,这也是我在cordova-ios@4.5.4项目和XCode 10.0中遇到的问题。 - Żabojad
哇,谢谢!这对我也起作用了。我切换到“Legacy Build System”,构建了应用程序,然后它安装在我的手机上。然后我将其切换回“New Build System”,构建了应用程序,然后它也安装在我的手机上。 - J.C.

41

我曾经遇到过同样的问题,一切都没问题:设备已在iOS Provisioning Portal中注册,证书已下载,我的应用程序的开发配置文件也已下载。

所以解决方案是:

目标 > 获取信息

选择发布配置(这里是关键),在代码签名中,检查iPhone Developer的代码签名身份。关闭。

在目标中选择清除目标,然后运行该应用程序。

祝你好运。


67
这个"Target->Get Info"在哪里? - Septiadi Agus
1
我看到在构建设置中可以将代码签名身份设置为开发者。 - Septiadi Agus
2
没有“Target->Get Info” 的屏幕截图吗?找不到它。 - GusOst
1
@Rafael 什么是 Target->Get Info? - skywinder
1
请解释一下 "Target > Get Info" 是什么意思。 - bitops
显示剩余3条评论

28

我的情况是由于钥匙串中存在几个版本的开发者证书。

从“我的证书”和“证书”中删除iPhone开发者证书,然后从开发中心下载最新的证书并安装它(双击.cer文件)

解决了我的问题。


2
是的,这个解决了我们的问题。点击目标 > 构建设置 > 代码签名 > 调试 > 点击 IPHONE DEVELOPER 的下拉菜单 > 不要选择自动选择,尝试每个附加到其他团队 * PP 的开发者 ID。 - brian.clear
1
这应该是正确的答案...因为设备没有添加到实际的配置文件中。 - Calleth 'Zion'
如果您尝试使用当前设备未添加的代码签名配置文件运行,您将收到完全相同的错误(例如从调试切换到发布时可能会发生这种情况)。 - kritzikratzi
1
@ChrisConway 是的,但是标记的答案没有解释问题的原因... 它只是在不知道原因的情况下执行整个过程 ;) - Calleth 'Zion'
@HectorRamos,丹:如果我应该用我的名字拥有多个证书呢?为客户创建多个账户等等? - WendiKidd
显示剩余3条评论

18

最终我解决了这个问题。我的一位同事在iOS Provisioning Portal中撤销了他的测试应用程序的开发者证书。为了解决这个问题,我删除了我的钥匙串中现有的开发者证书,使用现有的私钥请求了一个新的证书,从Provisioning Portal撤销了该证书并提交了新请求的证书。然后我下载并安装了它。

现在我可以在我的设备上调试我的应用程序 :)


可能的原因之一是你的“项目=>构建设置=>签名=>开发团队”与你的“目标=>构建设置=>签名=>开发团队”不同,只需将它们设置为相同即可。 - Halt

18

这让我感到困惑,因为有人将“运行”配置的“构建配置”设置更改为“发布”(在“产品”>“编辑方案..”>“运行*.app”下)。

通常情况下,这应该是设置为“调试”,因此它没有使用我预期的开发者证书和预配文件,而是使用了分发证书。

此外,如果您查看设备的控制台日志(通过组织者),可能会有一个错误代码,更好地指示您的问题。例如,我遇到了...

Mon Sep  5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012

我随后谷歌搜索了"0xe8008012",得到了以下页面,显示出了一个"0xE8008012 - 正在加载的配置文件中未找到与设备UUID相匹配的标识符"错误。

MobileInstallation


你今天拯救了一条生命!谢谢。 - Okhan Okbay

15
  • Xcode->点击您的应用程序 ->目标->单击应用程序 ->构建设置->代码签名:请确保DebugAny iOS SDK都设置为iPhone Development

  • Xcode ->产品 ->方案 ->编辑方案:请确保Build Configuration设置为Debug


这是与程序相关的内容,请翻译成中文。仅返回翻译文本:此内容不得进行分发。 - Curnelious
为了澄清,我想补充一点,你应该将“构建配置”设置为“调试”以便于“运行”(通常也包括“测试”和“分析”)。而“归档”通常应该是“发布”,否则你的分发将会出现问题。 - Aron

14

我也遇到了与Xcode 10.0 beta 5 (10L221o)和运行iOS 12.0 (16A5345f)的设备相同的问题-这也是测试版。

在安装应用时,出现了名为“应用安装失败”的警报,提示“没有找到此可执行文件的有效配置文件。”

我通过前往:~/Library/MobileDevice/Provisioning Profiles并查找Xcode尝试使用的证书来摆脱它。然后在Xcode的“设备和模拟器”窗口中,右键单击我的设备,选择“显示配置文件”,并使用加号按钮将配置文件添加到设备中。

我不记得上次做这件事是什么时候了,已经过去好多年了。我猜想Xcode通常会为我们处理这个问题,但由于某种原因,在看到该消息时,它失败了。


我遇到了同样的问题,这个方法对我有用。谢谢。 - Pat

13

在我的情况下,这个问题是由于为单元测试选择了另一个预配文件所致。我花了好几个小时才找到这个原因...


10

使用Xcode 6和一个新的设备:

  1. 按下cmd + shift + 2打开设备窗口。 在xcode中添加设备
  2. 点击“注册设备”按钮。如果没有这个按钮(如屏幕截图中),请前往developer.apple.com手动添加设备,并将标识符复制到字段中。 在门户网站上添加设备
  3. 进入Xcode -> 首选项 -> 帐户 -> 双击您的帐户 -> 按左下角的刷新按钮刷新配置文件 刷新配置文件
  4. 进入签名设置并设置新的配置文件。 设置配置文件

不要忘记将“Provisioning Profile”设置为自动或特定的配置文件(如果您知道是哪一个),否则“xCode”将处理选择正确的配置文件。 - Alex Cio
在我的情况下,我需要确认接受相同设备的新一年开发者许可证,然后删除配置文件并重新下载它们。 - Dmitry

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