下载并安装
$ brew install cmake ninja
2、clone OCLint项目
$ git clone https://github.com/oclint/oclint
3、进入oclint-scripts目录,执行make命令
$ ./make
成功之后会出现build文件夹,里面有个oclint-release就是编译成功的oclint工具。
设置oclint工具的环境变量
设置环境变量的目的是为了我们能够快捷访问。然后我们需要配置PATH环境变量,注意OCLint_PATH的路径为你存放oclint-release的路径。将其添加到.zshrc
,或者.bash_profile
文件末尾:
OCLint_PATH=/Users/你的本地用户路径/oclint/build/oclint-release
export PATH=$OCLint_PATH/bin:$PATH
执行source .zshrc
,刷新环境变量,然后验证oclint是否安装成功:
$ oclint --version
OCLint (http://oclint.org/):
OCLint version 0.15.
Built May 19 2020 (11:48:49).
出现这个介绍就说明我们已经完成了安装。
1.进入项目更目录
cd /Users/admin/Desktop/OClintTest
查看项目基本信息
xcodebuild -list
输出为
Information about project "OClintTest":
Targets:
OClintTest
Build Configurations:
Debug
Release
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
OClintTest
这里显示了对应项目的Schemes
2.编译项目
先clean指定项目OClint,因为集成了pod,所以使用OClint.xcworkspace;然后再Debug 编译项目了;最后通过xcpretty,使用 -r json-compilation-database 可以生成指定格式的数据。编译成功后,会在项目的文件夹下出现 compile_commands.json 文件
xcodebuild -scheme OClintTest -workspace OClintTest.xcworkspace clean && xcodebuild -scheme OClintTest -workspace OClintTest.xcworkspace -configuration Debug | xcpretty -r json-compilation-database -o compile_commands.json
每次编译之前需要 clean 这时候就会生成根目录下就会生成compile_commands.json文件,我们需要把compile_commands.json生成html报表。使用 oclint-json-compilation-database 命令对上一步生成的json数据进行分析,对项目代码进行分析,最终生成report.html文件。OCLint目前支持输出html,json,xml,pmd,Xcode格式文件。
oclint-json-compilation-database -e Pods -- -report-type html -o oclintReport.html
如果项目工程太大,整个 lint 会比较耗时,所幸 oclint 支持针对某个代码文件夹进行 lint
oclint-json-compilation-database -i 需要静态分析的文件夹或文件 -- -report-type html -o oclintReport.html 其他的参数
有时候错误信息比较多利用下面的脚本则可以将报错信息写入 log 文件,方便查看
oclint-json-compilation-database -e Pods -- -report-type html -o oclintReport.html 2>&1 | tee 1.log
此时会在根目录下生成oclintReport.html文件
参考连接:
注:报错oclint: error: compilation contains multiple jobs:
修改project和target中COMPILER_INDEX_STORE_ENABLE为NO
参考连接:oclint遇到错误及解决办法