使用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. SpringMVC Controller配置方法有哪几种

    第一种 URL对应Bean 如果要使用此类配置方式,需要在XML中做如下样式配置 <!-- 表示将请求的URL和Bean名字映射--> <bean class="org.s ...

  2. Windows Python+Eclipse环境配置

    参考这几篇博客: 1:http://www.cnblogs.com/realh/archive/2010/10/04/1841907.html 2:http://www.cnblogs.com/min ...

  3. 事件响应的优先级、stopProgapation禁止下层组件响应

    cocos2d-js没有完整的鼠标事件处理,这点比js/flash的要差一些,不过凑合着也可以用了. 一般界面编程,可以用显示列表的Node作为监听器的优先级,在上方的会比下方的高优先级. 而coco ...

  4. java 八种基本数据类型之初始值、取值范围、对应的封装类

      CreateTime--2017年12月6日10:03:53 Author:Marydon 一.java数据类型之基本数据类型 (二)八种基本数据类型的特征 import java.math.Bi ...

  5. 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义

    原文  http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因 ...

  6. ftp相关常用命令

     工欲善其事必先利其器 00.FTP常用命令 01.SFTP命令 sftp  user@ip:/tmp

  7. android 发送短信的两种方式,以及接收报告和发送报告

               android发送短信,以及接收报告和发送报告          android中发送短信其实有两种方式,这个和打电话类似,大家可以了解一下:    一.调起系统发短信功能    ...

  8. 自定义UITabbarcontrollerview

    // 初始化contentView [self initContentView]; #pragma mark 初始化contentView - (void)initContentView { CGSi ...

  9. java获取n个工作日后的日期, 排除周末和节假日(顺延)

    一.写在前面 需求: 工作需要获取n个工作日后的日期, 需要排除weekend和holiday, holiday存在数据库中, 存入的形式是一个节日有起始日期和截止日期(以下文中有关于节假日的表截图) ...

  10. git学习笔记(四)—— 分支管理

    一.创建与合并分支 git branch //查看分支 git branch <name> //创建分支 git checkout <name> //切换分支 git chec ...