1. 通过brew安装OCLint
# 安装OCLint
$ brew tap oclint/formulae
$ brew install oclint
# 查看brew版本
$ brew --version
# 更新
$ brew update
$ brew upgrade oclint
# 检查oclint是否安装成功
$ oclint
- 安装成功如下,如果安装失败,就不断的尝试上面的安转命名,我安装了十多次才成功
![]()
2. 安装xcpretty
# 安装xcpretty
$ gem install xcpretty
# 打开未知来源的软件
$ sudo spctl --master-disable
# 关闭未知来源的选项
$ sudo spctl --master-enable
- 如果安装失败提示没有权限的时候,就尝试该命令:sudo gem install xcpretty
- 安装完之后,执行 oclint 这个命令可能会提示打不开,执行:sudo spctl --master-disable 打开隐私安全的未知来源开关
- 然后通过【设置】进入【隐私与安全性】滑动下面的【安全性】这栏,会看到oclint,点击 允许打开
- 执行 oclint 命令成功如下图所示:
![]()
3. xcode配置
3.1 创建Aggregate类型target
- 在target下面点击加号,在弹出的对话框中,选择Other中的Aggregate,这里取名为:OClint ,如下图:
![]()
3.2 编写shell脚本
3.2.1 选择target OCLint,在build phases里添加New Run Script Phase
# 在框里输入如下脚本代码:
chmod -R 777 $SRCROOT/oclint
$SRCROOT/oclint/oclint.sh
- 添加的步骤:
![]()
- 添加后再此处填入脚本:
![]()
3.2.2 在Xcode工程的.xcodeproj文件同级目录下创建oclint文件夹,并在该文件夹下创建oclint.sh脚本文件
export LC_ALL=en_US.UTF-8
source ~/.bash_profile
#获取项目路径
PROJECT_DIR=$(cd `dirname $0`;cd ..;pwd)
cd ${PROJECT_DIR}
buildPath="${PROJECT_DIR}/oclint/build"
compilecommandsJsonFolderPath="${PROJECT_DIR}/oclint"
compilecommandsJsonFilePath="${PROJECT_DIR}/oclint/compile_commands.json"
rm -rf "$compilecommandsJsonFolderPath/build"
xcodebuild SYMROOT=$buildPath | xcpretty -r json-compilation-database -o $compilecommandsJsonFilePath
cd $compilecommandsJsonFolderPath
oclint-json-compilation-database -- -report-type xcode
- 在Xcode工程的.xcodeproj文件同级目录下创建oclint文件夹,利用命令:touch oclint.sh 创建一个空的文件,然后将上面的内容复制进去,如下:
![]()
3.2.3 打开项目,scheme选择OCLint,command+B,之后就会将分析后的警告提示在Xcode上