排除Xcode 7中覆盖统计信息中的代码

我已经在Xcode 7.0和Objective C中启用了代码覆盖率统计( 就像这样 ),它运行良好。

是否可以标记一些源代码行,以便覆盖率报告忽略它们? 如果我使用lcov,那么我可以使用LCOV_EXCL_STARTLCOV_EXCL_END标记(例如, 如何让lcov忽略源文件中的行 ),但是Xcode不能识别这些标记。

Xcode有这样做的替代机制?

Xcode7及更高版本( 基于一些论坛post ),覆盖系统使用LLVM的覆盖生成和报告机制,其格式详见http://llvm.org/docs/CoverageMappingFormat.html 。 从Xcode 9开始,此格式支持排除行(或其他结构)的任何手段。

得到的映射通过llvm-cov导出为可用的格式(txt或html),这在排除机制方面也没有太多的作用。 llvm-cov 确实有一些简单的阈值,只报告线路和区域的“大于”或“小于”覆盖率,但是我怀疑这并不完全基于上述问题。