OClint使用
brew tap oclint/formulate
brew install oclint
直接用brew按照就好
为了输出易读也要装一下xcpretty
gem install xcpretty
xcbuild是xcode自带 不用安装
全部安装完成以后,进入你的项目根目录
用-list查看一下工程
控制台会显示出 当前目录下的 tagerts , configuration, shemes
编译生成的时候按需选择
tips:我的工程是私有库+demo工程,我只想检查我的pods工程下的代码,所以只写了我需要检查的tagerts
xcodebuild -scheme 我需要检查的tagerts名称 -configuration Debug -sdk iphonesimulator | xcpretty -r json-compilation-database -o compile_commands.json
继续
然后发现这一步会报错oclint: error: one compiler command contains multiple jobs:
网上的解决办法:
将 Project 和 Targets 中 Building Settings 下的 COMPILER_INDEX_STORE_ENABLE 设置为 NO;
在 podfile 中 target 'xx' do 前面添加下面的脚本
`post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['COMPILER_INDEX_STORE_ENABLE'] = "NO"
end
end
end`
完美解决……
再编译生成一次,本地目录下会生成compile_commands.json文件
1这个json文件不好查看扫描结果,转成html格式
oclint-json-compilation-database oclint_args -- -report-type html -o oclintReport.html -rc LONG_LINE=9999 -max-priority-1=9999 -max-priority-2=9999 -max-priority-3=9999
生成了html文件就可以直接在浏览器里查看了
用这个工具做codereview灰常不错……
后续学习一下怎么加自定义的规则
网友评论