【问题标题】:Can't launch my app in Instruments: At least one target failed to launch无法在 Instruments 中启动我的应用程序:至少一个目标无法启动
【发布时间】:2013-09-25 04:10:03
【问题描述】:

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

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 上不会发生。

【问题讨论】:

    标签: iphone ios xcode instruments


    【解决方案1】:

    为您的目标编辑方案,并在“Profile [App Name]”下将 Build Configuration 设置为 Debug(默认情况下通常为 Release)。

    【讨论】:

    • +1,谢谢,这对我有帮助。我要补充一点,我必须在将配置设置为 Debug 后构建项目,否则 Instruments 仍然无法发挥作用。
    • 虽然我知道这个“将配置更改为调试”是错误的,但我没有解决这个问题的方法。一般来说,分析调试版本的用处/普遍性要小得多。
    • 那是因为Release经常使用Production证书。
    • 我已确保配置文件方案正在使用调试配置(开发人员配置文件),但我仍然遇到此问题。这是一个企业开发者证书,尽管我不认为这很重要。有什么想法吗?
    • 我遇到了同样的问题。使用调试配置分析您的应用程序不是有效的性能测试,因为编译器没有像 Adhoc 那样优化代码。有人弄清楚 AdHoc 问题吗?
    【解决方案2】:

    意思是你需要用developer证书(不是distribution证书)为应用签名。

    在 Xcode 5 中,只需将 Build Settings"Release" 构建的 "Provisioning Profile" 字段更改为您的 developer 证书,而不是您的分发证书。无论如何,在测试期间。 Xcode 不允许您使用分发证书进行构建。

    确保项目构建设置不会覆盖目标构建设置或在您的项目中进行更改 em> 构建设置。

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

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

    【讨论】:

    • 首先,它需要一个开发配置文件,这意味着它需要处于调试模式。其次,除非 Apple 将其更改为分发配置文件,否则开发人员可能会使用开发版本。第三,你正在分析,它应该是一个开发(调试)构建。第四,为什么要为发布方案使用开发配置文件?
    • “首先,它需要一个开发配置文件,因此这意味着它需要处于调试模式。”您可以使用任何配置文件运行任何配置。 “第三,您正在分析,它应该是一个开发(调试)构建”您应该使用发布构建进行分析,以考虑编译器优化。你可能会得到不同的结果。 “第四,你为什么要为发布方案使用开发配置文件?”因为这是解决这个问题的最简单方法。正如我在回答中所写的那样,当您准备好测试时,您应该将配置文件改回来。
    【解决方案3】:

    添加到以前的答案。

    • 仪器正在抱怨关于签名身份
    • 我认为最好在发布模式下配置文件,原因与 Zolten 给出的相同。 (考虑到编译器的优化,并拥有您的用户所期望的确切体验等...)
    • 要更改 Xcode 6 的代码签名身份:
      • 点击您的项目,选择您正在分析的目标。
      • 构建设置 -> 代码签名 -> 代码签名身份 -> 发布
      • 选择您的 iOS 开发者资料。
    • Provisioning Profile:让 Xcode 为您选择正确的 Provisioning Profile,例如:切换到 Automatic
    • 完成配置文件后,切换回正常设置

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

    【讨论】:

      【解决方案4】:

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

      解决方案: 1. 我在设备的 xcode 中使用 Debug Developer Profile 归档了该应用程序。 2. 转到 Window -> Organizer -> 查看所有档案列表 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。

      【讨论】:

      • 应用文件在 Products -> Applications 下的 Package contents
      【解决方案5】:

      我通过这样做在我的机器上解决了这个问题:

      • 使用列表中的设备生成new Developer Provisioning Profile,或者至少确保您的计算机在配置文件设备的列表中。
      • 在项目设置 -> 代码签名 -> 供应配置文件 -> 调试中:设置新创建的配置文件。
      • 在 Targets settings -> Code Signing -> Provisioning Profile -> Debug AND Release 中:设置新创建的配置文件。

      希望对您有所帮助。

      【讨论】:

        【解决方案6】:

        我意识到“至少一个目标未能发射”是什么意思。看来开发和发布方案(如果您有调试方案和发布方案)都必须具有开发标识。

        我在运行分析器时选择了调试方案,XCode 顶部的消息显示“正在运行调试”。但是,这似乎还不够。

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

              我在使用 Xcode 9.1 的模拟器和设备时都遇到了这个问题,并且我的运行方案已经设置为使用“调试”进行分析。终于发现this Apple forum discussion 非常有帮助并解决了问题。简而言之,对我有用的解决方案是……重新启动 Mac。

              【讨论】:

                猜你喜欢
                • 2020-09-02
                • 2011-09-14
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-09-03
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多