You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 15中Metal Frame Capture无法正常工作的解决求助

Metal帧捕获功能异常问题排查与解决

问题现象

  • “M”按钮下的“Capture”按钮呈灰色(fps显示为0),无法点击(iOS、macOS应用均出现)
  • 点击“M”按钮提示无法连接设备(仅macOS应用,M2、Intel/AMD Mac均受影响)
  • “Capture”按钮可点击,但回放持续加载(iOS、macOS应用均出现)
  • 通过MTLCaptureManager编程捕获生成的.gputrace文件,在Xcode中回放持续加载(iOS、macOS应用均出现)
  • iOS应用控制台存在运行时错误信息,暂未确认是否关联捕获问题

环境信息

  • 所有应用为Debug配置,运行正常、fps符合预期
  • 未修改Scheme设置或plist,捕获功能已启用
  • 设备:M2/Intel/AMD Mac(macOS 14.2.1)、iPad 2019/2022(iPadOS 17.2)、iPhone 12(iOS 17.2.1)
  • Xcode版本:15.1、15.2
  • 禁用Metal HUD无效;仅重启设备/Xcode无法解决问题

临时缓解方案

删除项目构建文件、DerivedData,重启Mac,删除设备上的应用,重启iOS设备后重新编译——但多次编译后问题会复现


问题解答

1. 如何在Metal中正常捕获帧?

除上述临时方案外,可尝试以下操作:

  • 检查Xcode的Metal捕获权限:前往系统设置 > 隐私与安全性 > 开发者工具,确保Xcode被允许访问开发者工具
  • 重置Xcode的Metal相关缓存:执行命令:
    defaults delete com.apple.dt.Xcode Metal
    
    执行后重启Xcode
  • 尝试命令行捕获:通过xcrun metal-capture命令启动应用并捕获帧,示例:
    xcrun metal-capture --process <应用进程ID>
    
  • 检查应用Info.plist:确认未意外添加MTLCaptureDisabled等禁用Metal调试的配置键

2. 是否为已知Bug?是否有其他用户遇到该问题?

这是Xcode 15.x搭配macOS 14.x/iOS 17.x的已知问题,Apple开发者论坛及技术社区已有大量用户反馈类似案例,核心诱因集中在Metal捕获链路的缓存冲突、设备连接会话异常等场景。

3. 有无可行解决办法?

除临时缓解方案外,可尝试:

  • 降级Xcode到15.0版本(该版本未出现大规模类似捕获异常)
  • 升级系统到最新测试版:macOS 14.3/iOS 17.3测试版中Apple已修复部分Metal捕获相关Bug
  • 对于双显卡Mac,关闭系统“自动图形切换”,强制使用独立显卡运行应用和Xcode
  • 手动清空Xcode缓存目录:删除~/Library/Developer/Xcode/DerivedData和~/Library/Caches/com.apple.dt.Xcode,之后重启Xcode

内容的提问来源于stack exchange,提问作者Céline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 04:15:27