欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

使用OCLint和Sonar对iOS代码分析和质量管理

程序员文章站 2022-07-02 16:44:07
OCLint 是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objective-c的静态分析。 Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。 1 brew install ......

OCLint 是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objective-c的静态分析。

Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。

SonarQube安装
1
brew install sonarqube
SonarQube汉化

汉化插件

https://github.com/SonarQubeCommunity/sonar-l10n-zh

下载后放入如下目录:

1
/usr/local/Cellar/sonarqube/6.5/libexec/extensions/plugins
Mysql安装
1
brew install mysql

创建sonar数据库

配置sonar连接mysql
1
2
3
4
5
6
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
安装xcpretty
1
gem install xcpretty
安装OCLint
1
2
brew tap oclint/formula
brew install oclint
安装sonar-scanner
1
brew install sonar-scanner

安装sonar-objective-c-plugin

backelite-sonar-objective-c-plugin-0.6.2.jar

下载后放入如下目录:

1
/usr/local/Cellar/sonarqube/6.5/libexec/extensions/plugins
重启sonar
1
sonar restart

到此Sonar环境已经基本配置好了,打开 http://127.0.0.1:9000

使用OCLint和Sonar对iOS代码分析和质量管理

工程配置

run-sonar.shsonar-project.properties模板放到根目录下, 修改.properties文件的内容, 然后执行run-sonar.sh就可以了。文件地址https://github.com/LeoXu92/SonarShell-iOS

最终效果
使用OCLint和Sonar对iOS代码分析和质量管理

(ps.技术债累积的比较多,是时候改改了。)

遇到的问题

执行sonar-scanner时提示”The rule ‘XXX’ does not exist”

在oclint在新版本版本会新增了些规则, 需要更新sonar服务器上对应的规则列表.

先下载https://github.com/LeoXu92/sonar-objective-c代码。

然后后在路径: sonar-objective-c-develop/sonar-objective-c-plugin/src/main/resources/org/sonar/plugins/oclint 下的profile-oclint.xmlrules.txt这两个文件。添加对应的规则。

然后再执行 build-and-deploy.sh 编译出新的jar包。

如果启动不了SonarQube

删除sonarqube/6.7.1/libexec/temp文件夹重启试试。