03
首次试跑:找不到 iOS Simulator 时先查可用清单
如果 fastlane scan 找不到 iOS Simulator,先不要立刻重装 fastlane。按执行顺序核对远程 Mac 的 Xcode 选择、已安装的 iOS Simulator runtime,以及目标设备是否确实存在:
xcode-select -p
xcodebuild -version
xcrun simctl list devices available
再对照 Fastfile 中的设备占位值,确认名称与远程清单对应。Apple 的命令行工具参考说明 simctl 用于管理模拟器;fastlane 的参数说明也包括设备选择相关配置。
目标可见后,先运行最小测试:选定一个共享 scheme、一个测试目标和一台可用模拟器。若首轮失败,按阶段记录,而不是笼统地标记为“fastlane 失败”:
- 依赖解析阶段:检查项目包管理器是否能解析锁定的依赖,以及远程环境是否能访问所需资源。
- 构建阶段:核对工程入口、scheme、签名设置和构建日志;构建失败时,测试断言尚未开始。
- 模拟器启动阶段:对照设备清单、runtime 和启动日志;目标不可见与模拟器启动后崩溃是不同问题。
- 测试执行阶段:确认测试目标实际启动,并检查失败用例、断言信息和测试结果,而不是只看命令是否返回。
fastlane scan 走的是 Xcode 测试流程,因此终端输出、fastlane 原始构建日志和 Xcode 测试结果要一起看。文档说明可通过配置选择工程、scheme 和设备,并保存原始构建日志;这也是把失败归到正确阶段的依据。