求助:Xcode Simulator 9.2运行UITests时reverseBundleId-UITests-Runner启动失败
解决Xcode Simulator 9.2(9C40b)中UITests Runner启动后退出/崩溃的问题
我之前维护旧项目时刚好碰到过Xcode 9.x版本里UITest Runner莫名崩溃的情况,给你几个亲测有效的排查和修复步骤:
彻底清理缓存与Derived Data
先完全关闭Xcode和所有模拟器窗口,然后:- 打开Xcode偏好设置(
Xcode>Preferences>Locations),找到Derived Data的路径,右键打开文件夹后删除所有内容 - 切换到模拟器,选择
Simulator>Reset Content and Settings...,确认重置模拟器的所有数据
- 打开Xcode偏好设置(
检查UITest Target的核心配置
选中项目里的UITests Target,逐一核对:- 确保
Bundle Identifier格式正确,通常是主App的Bundle ID加上.UITests后缀,不要包含特殊字符 - 查看
Signing & Capabilities,本地调试时用自动签名即可,避免手动配置的签名冲突 - 检查
Build Phases,确认Copy Bundle Resources和Compile Sources里没有重复添加或缺失的文件
- 确保
更换模拟器实例并验证运行时
Xcode 9.2默认对应iOS 10.2的模拟器,试试:- 在Xcode的
Window>Devices and Simulators里新建一个全新的iOS 10.2模拟器,不要用之前的旧实例 - 如果模拟器运行时可能损坏,去Xcode的
Preferences>Components里重新下载iOS 10.2的模拟器运行时
- 在Xcode的
重置Xcode测试相关服务
关闭Xcode后,打开终端执行以下命令,强制重置CoreSimulator服务和相关缓存:killall -9 com.apple.CoreSimulator.CoreSimulatorService rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf ~/Library/Developer/CoreSimulator执行完后重新打开Xcode,重新编译项目再运行UITests
排查测试代码的启动问题
有时候Runner崩溃是因为测试代码在初始化阶段就出错:- 暂时注释掉所有测试方法,只保留一个空的
testExample方法,看Runner能否正常启动 - 如果能启动,再逐步恢复测试代码,定位到导致崩溃的具体代码段
- 暂时注释掉所有测试方法,只保留一个空的
内容的提问来源于stack exchange,提问作者ScottyBlades
相关产品推荐
相关产品推荐

