Azure DevOps运行iOS XCUITests报“Failed to start launchd_sim”求助
解决Azure DevOps中iOS模拟器运行XCUITests的启动失败问题
一、重置模拟器或清理残留数据的方法
- 命令行重置指定模拟器:
- 先列出所有模拟器的UDID:
xcrun simctl list devices - 找到对应模拟器的UDID后,执行重置:
xcrun simctl erase <模拟器UDID> - 若要一次性清空所有模拟器数据(谨慎操作):
xcrun simctl erase all
- 先列出所有模拟器的UDID:
- 清理模拟器缓存与进程:
- 强制杀掉所有模拟器进程:
killall Simulator - 删除模拟器缓存目录:
rm -rf ~/Library/Developer/CoreSimulator/Caches - 也可直接删除对应模拟器的设备数据目录:
rm -rf ~/Library/Developer/CoreSimulator/Devices/<模拟器UDID>
- 强制杀掉所有模拟器进程:
二、其他可行解决方案
- 调整代理资源配置:
双模拟器运行需要足够的CPU和内存支撑,Azure DevOps托管代理默认资源可能不足。可以尝试更换更高配置的托管代理(比如macOS-13),或者使用私有代理;测试任务前添加步骤关闭后台不必要进程,释放系统资源。 - 修正并行配置逻辑:
虽然你将maxParallel改为1,但可能和Xcode测试计划的配置存在冲突。确保Xcode测试计划完全禁用并行——不仅取消勾选“Execute in parallel (if possible)”,还要检查其他相关并行设置;同时在Azure DevOps的Xcode任务中明确设置parallel: false,避免任务自动触发并行。 - 统一模拟器OS版本:
你使用的两个模拟器OS版本跨度较大(15.4和16.1),不同版本的模拟器启动逻辑可能存在兼容性问题。试试换成同一大版本的OS(比如都用16.x),验证是否解决问题。 - 添加模拟器启动等待时间:
在启动测试前添加延迟步骤,给模拟器足够的启动缓冲时间,比如在Azure DevOps任务中执行sleep 30(时长可根据实际情况调整)。 - 更新Xcode与模拟器:
确保Azure DevOps代理上的Xcode为最新稳定版本,旧版本模拟器可能存在已知的启动bug,更新后可修复部分兼容性问题。
内容的提问来源于stack exchange,提问作者brainray
相关产品推荐
相关产品推荐

