Xcode 15/16连接iOS17/18真机使用XCUITest录制时崩溃求助
XCUITest录制在iOS17/18物理设备上崩溃的解决办法
1. 优先升级Xcode到适配版本
别用旧版Xcode搭配新iOS系统,iOS17至少用Xcode 15.4正式版,iOS18必须用Xcode 16的正式版或最新beta。旧版本的Xcode对新系统的录制功能存在未修复的兼容性bug,升级是最直接的解决路径。
2. 重置设备自动化权限
哪怕已经开了UI Automation,也试试彻底重置:
- 设备进入「设置」>「隐私与安全性」>「自动化」,找到Xcode相关权限,先关闭再重新开启
- 重启设备,重新连接Xcode并信任电脑,再尝试录制
3. 临时关闭Metal调试选项
由于你用了大量Metal视图,大概率是Metal调试层和录制功能冲突:
- 项目Build Settings里找到「Metal Compiler Options」,把
MTL_DEBUG_INFO、MTL_ENABLE_DEBUG_LAYER这类调试开关关掉,重新打包到设备 - 录完测试代码再把这些开关开回来,不影响日常开发调试
4. 用命令行绕开Xcode UI录制按钮
直接用终端启动录制,避开Xcode界面的崩溃问题:
- 先在Xcode里把测试目标编译安装到物理设备上
- 终端执行命令(替换成你的设备名和应用Bundle ID):
xcrun xctrace record --template 'XCUITest Recording' --device '你的设备名称' --app 'com.xxx.yourapp' --output recording.trace - 在设备上操作完要测试的流程,按
Ctrl+C停止录制,回到Xcode导入这个trace文件,就能提取出对应的测试代码
5. 给Apple提交bug反馈
如果以上都没用,那就是Xcode的官方bug了:
- 通过Xcode顶部菜单「Xcode > Report a Bug」提交详细信息,附上崩溃日志、设备型号、iOS/Xcode版本、Metal使用场景
- 也可以去Apple开发者论坛发帖,说不定有其他开发者找到临时解决方案
内容的提问来源于stack exchange,提问作者bmartinek
相关产品推荐
相关产品推荐

