2021-07-16

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灰常不错……

后续学习一下怎么加自定义的规则

你可能感兴趣的:(2021-07-16)