如何避免自定义 Xcode 工具的“不支持...平台”错误

How to avoid “does not support ... platform” error for custom Xcode instrument

我有一个自定义的 Xcode 工具,我在分析应用程序时一直(重新)使用它。我的标准工作流程是:

  1. 打开仪器的项目并运行它(启动仪器调试会话);然后
  2. 剖析我的目标项目,并查看我的自定义仪器的运行情况。

好的,没问题。

但是每次我想分析一个应用程序时,执行第 1 步很麻烦。因此,我将其保存以备将来使用 Instruments 中的“文件”»“另存为模板...”。

但是当尝试使用该模板时(而不是 运行 那个单独的 Instrument 项目),我得到一个错误。对于 macOS 分析会话说:

[Instrument name] does not support the macOS platform.

同样,对于 iOS 分析会话,它表示:

[Instrument name] does not support the iOS platform.

这是为什么?我需要做什么来指定自定义仪器可以在哪些平台上使用?


我在 Big Sur 11.6 上使用 Xcode 13.0 (13A233)。

事实证明,此错误消息“不支持 [macOS/iOS] 平台”具有误导性。这种情况下,问题不是不支持平台,而是Instrument根本没有安装好

要安装自定义仪器以便可以随意重复使用,应该打开仪器的项目并执行“产品”»“存档”,点击“分发内容”,然后选择“内置产品” ”:

构建一个 .instrdst 包。然后,您可以从 macOS Finder 中双击它进行安装:

安装后,如果需要,您可以再次使用模板来管理可在分析会话期间使用的工具集合。例如,这是一个使用已安装的自定义工具包的分析会话,(在本例中,说明了 reader-writer 模式的工作原理):

但关键是现在已经安装了自定义仪器包,您可以使用它而无需在分析您的应用程序之前手动 运行 Xcode 中的仪器。


请注意,此针对“不支持 [macOS/iOS] 平台”问题的解决方案是自定义工具独有的。它不应该与可能带有合法 limitations 的工具混淆,关于它可以使用哪些平台。有些仪器仅在特定平台上受支持。但在上述情况下,问题是自定义仪器未正确安装,错误消息只是误导。


要卸载乐器,请转到“首选项”»“包”并点击“卸载”: