OCLint 安装方法
主要步骤
安装GodEyes_iOS
参考 GodEyes官网 http://godeyes.duapp.com/readme.jsp ,下载后无需安装
1. 配置 GodEyes
打开 conf/config.ini 配置文件,根据你的项目需求,进行如下设置:
1) ProjectPath:要扫描的工程路径,即拥有 xxx.xcodeproj 文件或 xxx.xcworkspace 的目录
2) xctoolCommand:这一步可能需要你费点心思。GodEyes 依赖一个叫做json编译数据库(json Compilation Database)的文件来获取需要扫描的文件列表,而这个文件可以通过调用 GodEyes 内置的第三方工具 xctool 来生成。然而,xctool 并不是很聪明,你需要告诉 xctool 一些关于你项目的必要信息,才能让 xctool 正确生成编译数据库。以下是一个示例:
xctoolCommand = xctool/bin/xctool -project /HelloWorld.xcodeproj -scheme HelloWorld -sdk iphonesimulator -reporter json-compilation-database:/compile_commands.json clean build
2完成配置后,cd 进入 godeyes 目录,然后直接 sh main.sh 执行脚本即可。
主要生成compile_commands.json,后面oclint要使用这个文件
2.GodEyes扫描规则
http://godeyes.duapp.com/scanrule.jsp
二。安装oclint
下载oclint并安装
下载地址: http://oclint.org/downloads.html
选择mac os x或者darwin的包,下载到本地。
打开~/.bash_profile,如果没有新建一个,输入
OCLINT_HOME=/path/to/oclint目录
export PATH=$OCLINT_HOME/bin:$PATH
http://www.tuicool.com/articles/AnEnMzf
三。安装xcpretty
https://github.com/supermarin/xcpretty
gem install xcpretty
四,集成到xcode
参考文档http://docs.oclint.org/en/stable/guide/xcode.html
在 bin/sh 下面输入
生成html报告
source ~/.bash_profile
cd ${SRCROOT}
xcodebuild clean
xcodebuild | xcpretty -r json-compilation-database
oclint-json-compilation-database oclint_args "-disable-rule=UnusedMethodParameter -disable-rule=LongLine -disable-rule=LongMethod -disable-rule=NcssMethodCount -disable-rule=ObjCObjectSubscripting -disable-rule=LongClass -disable-rule=NcssMethodCount -disable-rule=NPathComplexity -disable-rule=NPathComplexity -rc LONG_VARIABLE_NAME=1200 " -- -report-type html -o oclintReport.html
如果是在xcode里面看,改写type
source ~/.bash_profile
cd ${SRCROOT}
xcodebuild clean
xcodebuild | xcpretty -r json-compilation-database
oclint-json-compilation-database oclint_args "-disable-rule=UnusedMethodParameter -disable-rule=LongLine -disable-rule=LongMethod -disable-rule=NcssMethodCount -disable-rule=ObjCObjectSubscripting -disable-rule=LongClass -disable-rule=NcssMethodCount -disable-rule=NPathComplexity -disable-rule=NPathComplexity -rc LONG_VARIABLE_NAME=1200 " -- -report-type xcode
oclint_args "-disable-rule=UnusedMethodParameter -disable-rule=LongLine -disable-rule=LongMethod -disable-rule=NcssMethodCount -disable-rule=ObjCObjectSubscripting -disable-rule=LongClass -disable-rule=NcssMethodCount -disable-rule=NPathComplexity -disable-rule=NPathComplexity -rc LONG_VARIABLE_NAME=1200 “
oclint_args指的是oclint 的检测规则,-disable-rule 屏蔽某条规则
-rc LONG_VARIABLE_NAME=1200 制定某条规则的参数
参考文档
http://oclint-docs.readthedocs.io/en/stable/rules/migration.html