tai*_*ino 5 iphone gcov google-toolbox-for-mac
我正在尝试在iPhone项目上使用gcov并遵循此处描述的Apple的指令,但它不起作用.
当我构建并配置项目时,将为每个目标文件创建.gcda文件.但是没有执行的行被记录到.gcda文件中.(CoverStory显示所有报道均为0%)
我刚刚向模板项目添加了一个简单的类,如下所示.
@interface SomeClass : NSObject
- (void)func1:(BOOL)flag;
@end
@implementation SomeClass
- (void)func1:(BOOL)flag {
if (flag) {
NSLog(@"flag is YES");
}
else {
NSLog(@"flag is NO");
}
}
@end
Run Code Online (Sandbox Code Playgroud)
我分配了这个类并在application:didFinishLaunchingWithOptions中调用了func1,我预计会显示SomeClass的覆盖率(50%左右).
我使用的是OSX 10.6.4,iPhone SDK 4.0和Xcode 3.2.3.还需要更多配置吗?请指导.
更新2010/7/15:
我在@tonclon给我的链接中尝试了这些提示,但它还没有奏效.在下面的描述是我尝试过的.
由GCC 4.0编译的Cocoa应用程序在"Cocoa"应用程序的项目设置中,
它工作,.gcda文件是按预期生成的覆盖信息.但是在使用SDK 4.0的iPhone项目中,我无法使用相同的配置,因为gcc 4.0无法在SDK 4.0中编译某些语法(ex Blocks)
在google-tool-box中使用自定义gcov库而不是在其他链接器标志中设置-lgcov,我尝试了google-toolbox-for-mac中包含的自定义gcov库,但生成的.gcda文件显示覆盖率为0%.(同样的结果)
你能告诉我接下来应该做什么吗?任何建议表示赞赏.
有几件事:
请查看此处的 gcov 页面 (http://code.google.com/p/google-toolbox-for-mac/w/list),看看它们是否有帮助。我让 gcov 与 Xcode 3.2.5 和 iOS4.2 一起工作。