用OCLint给iOS代码做静态分析
可以对iOS代码做代码静态分析的工具有OCLint
, 这篇帖子说的就是如何使用这个工具. 转载请注明出处,晓月的博客:(http://blog.csdn.net/uxyheaven/article/details/50818107)
什么是OCLint
最好的介绍当然首选官方文档, 以下的说明摘选自官方文档:
OCLint是一个代码静态分析描工具, 可以用来提高质量和减少缺陷, 他目前支持C, C++, Objective-C语言, 他目前可以发现这些问题:
- 可能的bug - 空的 if / else / try / catch / finally 语句
- 未使用的代码 - 未使用的局部变量和参数
- 复杂的代码 - 高圈复杂度, NPath复杂, 高NCSS
- 冗余代码 - 多余的if语句和无用的括号
- 坏味道的代码 - 过长的方法和过长的参数列表
- 不好的使用 - 倒逻辑和入参重新赋值
安装
brew install xctool
brew install Caskroom/cask/oclint
如果安装不了请翻墙.
使用
先编译一遍工程, 然后执行脚本就可以生成报告了. 如果不存在bash_profile
文件, 需要自己生成一个, 进到那个目录后touch .bash_profile
.
笔者先抛砖引玉的给出一个自定义了部分扫描规则的脚本.
# import path
export PATH=${PATH}:/usr/local/bin
# import what we have in bash_profile
source ~/.bash_profile
# oclint
workspaceExt=".xcworkspace"
tempPath=""
project_path=$(pwd)
project_name=$(ls | grep xcodeproj | awk -F.xcodeproj '{print $1}')
# 更新第三方库
if [ -f Podfile ]; then
echo "====