You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:08:05