我在命令行中使用scan-build(checker-258)对我的iOS项目进行静态分析,发现发现的问题比xcode少得多(约少60%)。如果我将xcode 4.2设置为使用来自checker-258的scan-build,它会发现所有问题(以及更多)。这可能是因为命令行版本使用了旧的(非现代)运行时,因为它发现了以下问题:
error: synthesized property 'foo' must either be named the same as a compatible ivar or must explicitly name an ivar
@synthesize foo;
^
这是我用来运行分析的命令:
scan-build --use-cc=`which clang` -k -o scan-reports xcodebuild -target MyTarget -project myproject.xcodeproj -sdk iphonesimulator5.0 -configuration Debug clean build
提前致谢。
答案 0 :(得分:0)
是的,Xcode 4.2附带的静态分析器版本早于clang网站上的版本。这里有关于如何在Xcode中使用较新版本的说明:http://clang-analyzer.llvm.org/xcode.html
答案 1 :(得分:0)
尝试使用此命令:scan-build -k -V -o scan-reports xcodebuild clean build -configuration Debug -sdk iphoneos5.0 -xcconfig="myConfig.xcconfig"
myconfig包含CODE_SIGNING_IDENTITY="", PROVISIONING_PROFILE=""