使用brew 安装Xctool

先跟新brew :

sudo  brew update

brew install xctool --HEAD

OK.

使用请参照 文档 如:

xctool -workspace  path/xx.xcworkspace \

-scheme schemeName \

build

等待执行....

OClint 安装

OCLint是一个静态代码分析器,可以检测的Objective-C代码(同时支持Ç和c + +),发现常见的问题:例如的if / else / try / catch和/最后声明出错,未被使用的本地实例和参数,过度复杂(有效值代码行数状语从句:常循环复杂度太高),冗余代码,代码异味,以及其他不好的代码。

下载地址: http://oclint.org/downloads.html

官方安装说明:http://docs.oclint.org/en/dev/intro/installation.html

选择mac os x或者darwin的包,下载到本地。

将下载的文件解压。

安装说明

方法1(推荐):把路径加到环境变量中(.bash_profile或者.bashrc文件中)

OCLINT_HOME=/path/to/oclint-release  如:  OCLINT_HOME= /Users/xxx/Desktop/oclint-0.9.dev.a6ffa25

export PATH=$OCLINT_HOME/bin:$PATH

方法2:把执行文件拷贝到系统目录

sudo  cp   /Users/xxx/Desktop/oclint-0.9.dev.a6ffa25/bin/oclint*  /usr/local/bin/

sudo  cp -rp /Users/xxx/Desktop/oclint-0.9.dev.a6ffa25/lib/*   /usr/local/lib/

done.

xctool + oclint  分析代码

参见:

http://docs.oclint.org/en/dev/guide/xctool.html

xctool use in Xcode

http://docs.oclint.org/en/dev/guide/xcode.html

xctool 使用oclint 分析代码脚本:

git clone   git@github.com:githhhh/xctool_oclint.git

工程比较大得话 最后生成报告的时间也会长。没事可以耐心等下。默认会把生成的html 报告文件 放在工程目录。

xctool 使用 OCLint ,配合jenkins 生成PMD 报告脚本。

https://gist.github.com/SergioEstevao/7591170

报告提示解读:

Use early exit/continue to simplify code and reduce indentation

oclint 规则建议 使用提前退出/继续简化代码,减少缩进。

这里有一个讨论 关于:

public void SomeFunction(bool someCondition)

{

if (!someCondition)

return;

// Do Something

}

or

public void SomeFunction(bool someCondition)

{

if (someCondition)

{

// Do Something

}

}

规则更倾向于 第一种。见:

http://programmers.stackexchange.com/questions/18454/should-i-return-from-a-function-early-or-use-an-if-statement

根据规则提示 ,进一步优化代码质量。可以减少垃圾代码。

参考:http://yangfei.me/blog/xctool/

xctool + oclint 安装使用的更多相关文章

  1. mac已安装xctool而简单的执行xctool打包

    先安装brew,brew是一个包管理工具,有了它我们就能够非常方便的安装xctool了,brew安装命令例如以下: curl -LsSf http://github.com/mxcl/homebrew ...

  2. xctool工具

    xctool [1]xctool的特性: 原文:http://www.infoq.com/cn/news/2013/05/Facebook-buck-xctool-build xctool是Faceb ...

  3. iOS Sonar 集成流程

    https://gold.xitu.io/entry/5781e6872e958a0054c93368 作者:advancer_chen,原文链接:http://my.oschina.net/Chen ...

  4. OC静态代码检查实战

    此文已由作者杨晓授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Mac OS系统上,采用Xcodebuild Analyze命令和OClint工具,对iOS项目进行静态代码 ...

  5. iOS系统提供开发环境下命令行编译工具:xcodebuild

    iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...

  6. Mac 安装 home Brew以及 XCTool的过程记录

    一.HomeBrew相关: 先对HomeBrew做一个简单的介绍吧,之前了解的也不多. 主要就是用于安装Unix的工具包. 注意:HomeBrew依赖于Xcode的 Command Line Tool ...

  7. 使用OClint进行iOS项目的静态代码扫描

    使用OClint进行iOS项目的静态代码扫描 原文链接:http://blog.yourtion.com/static-code-analysis-ios-using-oclint.html 最近需要 ...

  8. iOS 工程自动化 - OCLint

    前言 最近一直在做 iOS 工程自动化方向的事情,所以把自己研究和实践的内容进行记录并分享,希望能给大家一些帮助. 为什么要使用 OCLint 做为一个静态代码分析工具,我们引入 OCLint 的目的 ...

  9. jenkins 使用oclint 扫描 oc 代码

    jenkins 环境的搭建,在这里不在赘述,下面我们写一写,如何接入oclint. OCLint是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objecti ...

随机推荐

  1. 索引全扫描(INDEX FULL SCAN)

    所谓的索引全扫描(INDEX FULL SCAN)就是指要扫描目标索引所有叶子块的所有索引行.这里需要注意的是,索引全扫描需要扫描目标索引的所有叶子块,但这并不意味着需要扫描该索引的所有分支块.在默认 ...

  2. 〖Linux〗将Jar文件打包成Linux可执行文件

    因为不想敲写 java -jar jarfile,而是想直接敲写  ./jarfile 就能够跑起程序 #!/bin/bash - #================================= ...

  3. ios中滚动页面

    - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { int width=frame. ...

  4. (原)tensorflow中finetune某些层

    转载请注明处处: http://www.cnblogs.com/darkknightzh/p/7608709.html 参考网址: https://kratzert.github.io/2017/02 ...

  5. 给你出道题---N个数字的静态决策区分问题

    决策,是世界上最重要的事情. 走路分两步:看准方向,大步前进.看准方向的过程就是决策. 任何一个问题,都对应两个空间:解空间和决策空间.我们所要做的就是使用决策空间去划分解空间. 决策可以分成两类:单 ...

  6. Hyperscan 介绍与安装【转】

    来源:http://blog.sina.com.cn/s/blog_913a533b0102wc38.html Hyperscan 介绍与安装 (2016-01-27 16:22:32) 转载▼   ...

  7. Windows Sockets错误标识及对应解释

    WSAETIMEDOUT 对应 linux 的 ETIMEDOUT WSAETIMEDOUT 对应 linux 的 ETIMEDOUT IdWinsock2.pas 文件中也有说明. Windows ...

  8. kafka负载均衡相关资料收集(一)

    key为null时Kafka会将消息发送给哪个分区? 当你编写kafka Producer时, 会生成KeyedMessage对象. 1 KeyedMessage<K, V> keyedM ...

  9. 使用Anemometer分析MySQL慢查询记录

    数据库管理员一般是用percona的toolkit工具来分析MySQL慢查询记录,但是不够直观. 下面介绍一款比较直观的工具来统计分析MySQL慢查询记录anemometer. 在使用之前需要安装pe ...

  10. Redis学习之路(007)- Redis学习手册(实例代码)

    在之前的博客中已经非常详细的介绍了Redis的各种操作命令.运行机制和服务器初始化参数配置.本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例. ...