Function Level Code Coverage for iOS

之前的博客中提到过,如果直接使用 Xcode 集成的代码覆盖率工具,提交 App 的时候似乎会被拒绝。这就导致如果我们想让线上的用户参与覆盖率测试就会受到困难,只能局限在公司内部进行测试。为了解决这个问题,就需要自己实现一套覆盖率检测工具。

思路

Getting Started to iOS Code Coverage

获得代码覆盖率报告可以让我们更精准地进行测试。LLVM 本身就通过编译插桩提供了这样的能力,因此可以很简便地实现这一功能。但根据 Technical Q&A QA1964 提到的内容,带有 LLVM instrumentation 的 App 在提交的时候会被以下理由拒绝。因此如果要在线上做覆盖率检测,可能需要我们自己来实现。

1
Invalid Bundle - Disallowed LLVM instrumentation. Do not submit apps with LLVM profiling instrumentation or coverage collection enabled. Turn off LLVM profiling or code coverage, rebuild your app and resubmit the app.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×