如何在Xcode中生成Coverage.profdata?Slather执行失败求助
嘿,我之前也踩过Slather这个坑,给你梳理几个必查的点,应该能解决这个报错:
排查Slather生成代码覆盖率报告失败的步骤
1. 确保Xcode已开启覆盖率数据收集
- 打开Xcode,点击顶部工具栏的scheme下拉菜单,选择
Edit Scheme - 切换到
Test标签页,勾选Gather coverage data选项 - 重新运行一遍测试,跑完后可以在Xcode的
Report Navigator(左侧导航栏最后一个图标)里查看覆盖率,确认数据已经生成
2. 给Slather指定正确的Scheme
Slather必须明确知道要处理哪个Scheme,两种配置方式二选一即可:
- 命令行方式:执行Slather时加上
--scheme参数,比如:slather coverage --scheme YourAppSchemeName - 配置文件方式:在项目根目录创建
.slather.yml文件,添加以下内容:scheme: YourAppSchemeName
3. 使用Workspace时必须指定
如果你的项目依赖CocoaPods或者用了Workspace管理,一定要告诉Slather:
- 命令行方式:追加
--workspace参数,比如:slather coverage --scheme YourAppSchemeName --workspace YourApp.xcworkspace - 配置文件方式:在
.slather.yml里补充:workspace: YourApp.xcworkspace
4. 明确指定项目文件(可选但保险)
有时候Slather会自动识别项目文件失败,你可以主动指定:
- 命令行方式:加上
--project参数:slather coverage --scheme YourAppSchemeName --project YourApp.xcodeproj - 配置文件方式:在
.slather.yml里添加:project: YourApp.xcodeproj
5. 清理缓存后重试
如果以上配置都正确还是报错,试试清理后重新生成:
- 用Xcode清理Build文件夹(快捷键
Cmd+Shift+K) - 删除Slather之前生成的报告文件夹(比如
html或cobertura) - 重新运行测试,再执行Slather命令
内容的提问来源于stack exchange,提问作者auyotoc
相关产品推荐
相关产品推荐

