n8t*_*8tr 5 xcode unit-testing code-coverage xcode7
自从Xcode 7测试版以来,我们一直遇到这个问题,直到今天Xcode 7.1还存在这个问题.
基本上我们无法打开Xcode中的代码覆盖率.在Xcode 6中,这个工作正常,但自Xcode 7以来一直被破坏.在单元测试运行结束时,我们得到无限的控制台输出说:
profiling: /Users/<my path to app>/ObjectiveC.gcda: cannot merge previous GCDA file: corrupt arc tag (<some hex address>)
Run Code Online (Sandbox Code Playgroud)
此输出重复,直到应用程序崩溃.我只是不知道为什么会发生这种情况并且所有解决此问题的尝试都失败了(除了关闭仪器程序流程并关闭代码覆盖率).我甚至尝试设置一个构建阶段运行脚本来查找和清除以前的代码覆盖率文件,但这也不起作用.
有没有人想到这个?
Xcode 7 的新代码覆盖率功能使用LLVM 覆盖率格式。
此外,Xcode 7 还为代码覆盖率提供了新的构建设置:“CLANG_ENABLE_CODE_COVERAGE”
确保“CLANG_ENABLE_CODE_COVERAGE”设置为“YES”,并将以下设置为“NO”:
GCC_GENERATE_TEST_COVERAGE_FILES = NO; GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = 否;