在Xcode 5中启用代码覆盖率的情况下运行测试目标时,我在构建输出中得到了以下几十条消息:

profiling:invalid arc tag (0x...)

这似乎不会影响测试,因为测试已成功完成,而且GCDA覆盖率文件也按预期生成.

知道消息的含义,或者如何 suppress 消息/修复问题,因为它们会使构建输出变得混乱,并且很难找到测试用例结果.

推荐答案

这很可能是因为构建工具未能将当前结果合并到现有结果中.gcda覆盖范围文件.作为Dave Meehan points out here,有一种蛮力的方法可以通过清理产品构建文件夹来处理这个问题,但一种不那么核心的方法是删除.作为构建过程的一部分,目标生成的gcda文件(对我来说,只是测试目标).Dave提供了一个作为构建阶段包含的示例脚本——或者,在项目根目录下手动:

find . -name "*.gcda" -print0 | xargs -0 rm

Objective-c相关问答推荐

UICollectionView:一行或一列

当前周开始和结束日期

Objective-C:在字符串中查找数字

如何使用格式化占位符本地化字符串?

pathForResource 返回 null

如果安装了应用程序,如何以编程方式判断?

如何将当前方法的名称或签名放入 NSString?

lldb 无法打印变量值并显示错误:对 'id' 的引用不明确

类在两者中都实现.将使用两者之一

如何在 iPhone 上画出讲话泡泡?

在 NSNumbers 的 NSArray 中查找最小值和最大值

Objective-C 中的 super 到底是什么?

当用户点击文本字段外的其他区域时如何关闭键盘?

在 Objective-C 中,你在哪里声明一个常量?

代码问题:格式字符串不是字符串文字

显示启动画面的时间超过默认秒数

UITableViewCell 右侧有图像?

从带有参数的方法名称创建 Select 器

带有Go按钮而不是返回的 iOS 键盘

如何在 NSUserDefaults 中保存 NSMutablearray