无法在Instruments中启动我的应用:至少一个目标无法启动


98

我已经正确设置了所有代码签名权利。在手机上运行该应用程序很好,但是在乐器中启动该应用程序会给我一条错误消息:

Error Starting Recording
At least one target failed to launch; aborting run

然后:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

有什么想法可以阻止这种情况发生吗?在我的iPad上不会发生。

Answers:


217

编辑目标的方案,然后在“配置文件[应用程序名称]”下将“生成配置”设置为“调试”(默认情况下通常为“发布”)。


6
+1,谢谢,这对我有所帮助。我要补充一点,在将配置设置为Debug或Instruments仍然无法发挥作用之后,我必须构建项目。
罗伯特

4
尽管我知道此“将配置更改为Debug”是错误的,但我没有针对此问题的补救措施。一般来说,对调试版本进行概要分析是没有用的/普遍的。
user501138 2013年

1
这是因为Release通常使用生产证书。
Evgeny Aleksandrov 2014年

我已确保概要文件方案正在使用调试配置(开发人员概要文件),并且仍然遇到此问题。这是企业开发人员证书,尽管我认为这没有什么意义。有什么想法吗?
Brody Robertson 2014年

3
我遇到了同样的问题。使用调试配置对应用进行性能分析不是有效的性能测试,因为编译器并未像Adhoc那样优化代码。有人知道AdHoc问题吗?
鲁尼

34

也就是说,您需要使用开发者证书(而不是发行证书)对应用程序进行签名。

在Xcode中5只改变"Provisioning Profile"字段中为"Release"构建在生成设置你的开发者证书,而不是你的分发证书。无论如何,在测试期间。Xcode不允许您使用发行证书进行构建。

确保项目构建设置不会覆盖目标构建设置或使你的改变项目生成设置。

完成测试后,请不要忘记将配置文件重新设置。

我不推荐使用harrywynn的方法,因为最好对发布版本进行概要分析,因为那样您就需要考虑编译器的优化,并获得用户的确切经验。


1
首先,它需要一个开发配置文件,因此这意味着它必须处于调试模式。其次,除非苹果将其更改为发行资料,否则开发人员可能会选择进行开发。第三,您要进行概要分析,它应该是开发(调试)版本。第四,为什么要将开发配置文件用于发布方案?
Angelo 2014年

4
“首先,它需要一个开发配置文件,因此这意味着它必须处于调试模式。” 您可以使用任何配置文件运行任何配置。“第三,您正在进行概要分析,它应该是开发(调试)版本”,您应该对发布版本进行概要分析,以考虑编译器的优化。您可能会得到不同的结果。“第四,为什么要使用发布概要的开发配置文件?” 因为这是解决此问题的最简单方法。正如我在回答中所写的,准备进行测试时,应将配置文件改回来。
佐尔坦Matók

9

添加到以前的答案。

  • 仪器的抱怨有关签署的身份
  • 我相信这是最好轮廓在释放模式,通过Zolten给出同样的原因。(考虑到编译器的优化,并具有用户的确切经验,等等。)
  • 要更改Xcode 6的代码签名身份,请执行以下操作:
    • 单击您的项目,选择要分析的目标。
    • 构建设置->代码签名->代码签名身份->发布
    • 选择您的iOS开发者资料。
  • 供应配置文件:让Xcode为您选择正确的供应配置文件,例如:切换到自动
  • 完成配置文件后,请切换回常规设置

这是给那些非常视觉化的人的照片;)

在此处输入图片说明


1

我遇到了同样的问题:[INST STDERR]仪器跟踪错误:目标无法运行:调试权限被拒绝。该应用程序必须使用开发身份进行签名(例如,iOS Developer)。

解决方案:1.我使用设备的xcode中的Debug Developer Profile将该应用程序存档。2.转到窗口->管理器->以查看所有档案列表3.现在选择要导出的档案,并在finder中将其打开。4.右键单击并显示包内容。5.转到产品/应用程序文件夹。您将看到.app文件。

用它代替ipa。

确保已将设备添加到开发人员门户并在其上安装了所有证书,以上步骤才能生效。

一旦到位。另外,请确保您从下面的链接获得ios-webkit-debug-proxy:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

另外,在设备设置上启用开发人员工具。另外,确保safari webinspector(safari-> Develop)-> Inspector处于启用状态,希望对您有所帮助:-)

注意:如果您希望appium为您在设备上安装该应用程序,请不要提供Bundle ID。


该应用程序文件位于“产品”->“包装内容”下的“应用程序”下
swathy valluri 2015年

0

通过这样做,我实现了在计算机上解决此问题的方法:

  • 生成新的开发者配置文件使用列表中的设备,或者至少确保您的计算机在配置文件的设备列表中。
  • 在项目设置->代码签名->供应配置文件->调试中:设置新创建的配置文件。
  • 在目标设置->代码签名->供应配置文件->调试发布中:设置新创建的配置文件。

希望能有所帮助。


0

我意识到“至少一个目标无法发射”的意思。看来,双方的开发和发布计划(如果你有一个调试方案和发行方案)必须有一个发展的身份。

我在运行探查器时选择了调试方案,并且XCode顶部的消息为“正在运行调试”。但是,这似乎还不够。

我将发布方案的代码签名身份更改为与调试方案(以及配置概要文件)相同,问题消失了。


0

它的工作..当我将我的配置文件架构更改为调试模式,并确保构建配置中具有开发人员证书。谢谢


0

这里没有其他解决方案可以解决我的问题,但是我确实确定这对我来说只是模拟器上的问题。设备工作正常。模拟器可能有问题。


0

我在模拟器和设备的Xcode 9.1中都遇到了此问题,并且我的运行方案已设置为使用“调试”进行性能分析。最终发现此Apple论坛讨论非常有帮助,并解决了问题。简而言之,对我有用的解决方案是...重新启动Mac。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.