如何解决自定义Xcode Instrument出现「不支持对应平台」报错的问题
报错原因
- 你保存的Instruments模板仅存储会话配置,不会内嵌自定义Instrument对应的
.instrpkg包文件。之前打开Instrument项目运行时可正常使用,是因为Xcode会临时将编译出的Instrument包注入当前会话,会话关闭后注入就会失效。 - 未将自定义Instrument包安装到Instruments的公共检索路径时,独立打开Instruments加载模板无法读取Instrument的元数据(包括支持的平台列表),就会触发平台不支持的报错。
配置解决步骤
- 首先显式声明自定义Instrument支持的平台
打开自定义Instrument的Xcode项目,编辑Package.swift文件,在InstrumentPackage配置中添加supportedPlatforms字段,示例如下:
import PackageDescription import InstrumentsPackageSupport let package = InstrumentPackage( name: "你的自定义Instrument名称", // 按需求指定支持的平台及最低版本,兼容你当前的Big Sur 11.6、Xcode 13环境 supportedPlatforms: [.macOS("11.0"), .iOS("14.0")], instruments: [ // 此处保留你原有Instrument的定义代码 ] )
- 导出并安装全局生效的Instrument包
- 选中Xcode编译目标为自定义Instrument Package,点击菜单栏
Product→Archive完成归档 - 归档结束后在归档界面选择
Distribute Content,导出格式选择Instrument Package,得到后缀为.instrpkg的安装包 - 双击该安装包按提示完成安装,安装后该Instrument会对所有Instruments会话全局生效
- 重新生成模板
打开Instruments,调用已安装的自定义Instrument配置好会话参数后,重新执行「文件」→「存储为模板...」保存新模板即可。
之后直接打开保存的模板即可正常使用,不会再触发平台不支持的报错。
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

