使用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. ES6学习笔记十一:编程风格技巧

    一:用let取代var 二:静态字符串一律使用单引号或反引号,不使用双引号.动态字符串(模版字符串)使用反引号. 三:解构赋值: 使用数组对变量赋值时,优先使用解构赋值: 函数的参数如果是对象的成员, ...

  2. JavaWeb应用项目部署到云ubuntu

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6383068.html 在前面的博文中,我们已经在云主机ubuntu上搭建好jdk.tomcat以及mysql了 ...

  3. CentOS7.4 安装rabbitmq-3.7.x

    1.使用阿里源以加速:配置方式 2.安装最新的erlang(2018年5月16日 安装的是 Erlang20.3.x) wget https://packages.erlang-solutions.c ...

  4. MFQ

    一什么是MFQ&PPDCS?MFQ&PPDCS是由外部教练邰晓梅提出的一套测试分析和测试设计方法.MFQ将被测对象分层,针对不同层次进行测试分析和设计进行,使测试设计人员不会那么容易忘 ...

  5. PLSQL Developer启动失败

    原因:和打印服务冲突 禁掉打印服务,不过打印功能是不行了

  6. Spring中Autowired注解,Resource注解和xml default-autowire工作方式异同

    前面说到了关于在xml中有提供default-autowire的配置信息,从spring 2.5开始,spring又提供了一个Autowired以及javaEE中标准的Resource注释,都好像可以 ...

  7. 获取客户机的ip和mac地址

    只获取clientIP package com.ppms.utils; import javax.servlet.http.HttpServletRequest; /** * Created by l ...

  8. JavaScript Window Location 当前页面的地址

    window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面. Window Location window.location 对象在编写时可不使用 window ...

  9. linux线程学习

    按照书上写的,不知道为什么有问题: //已解决,参考最新的blog,哈哈 #include <stdlib.h> #include <pthread.h> #include & ...

  10. 遇到影响服务器性能的cpuspeed 服务

    最近碰到一个很蛋痛的问题,,我在公司的代码上实现了一个功能,然后基于这个测试,结果比对数据发现每天少三千多万条,, 然后我各种优化,各种零碎部功能阉割,,还是丢数据! 之后,监控运行网卡----wat ...