作为iOS开发者,第三方类库的使用是最经常的,但鉴于第三方类库的不断更新以及其可能需要依存其他类,如果要使用最新版那么我们需要重新下载再添加到项目中,无疑带来一些繁琐的麻烦,那么现在这里就有一款能解决这个问题的工具————cocoapods, 类库管理工具。 它使用不是很复杂,只需要几条命令,我们应该要掌握它。

一、配置安装环境

安装开发工具: Xcode    

因为cocoapods需要Ruby环境,你可以借助第三方软件Rvm来更新管理它,首先是安装Rvm,打开Mac终端,输入:  

curl -L http://get.rvm.io | bash -s stable

查看Rvm版本:

rvm -v

加载启用Rvm:

source ~/.rvm/scripts/rvm

安装更高版本的Ruby(系统自带的版本太低),需要一点时间等待:

rvm install 2.0.

如果安装不行,可能是因为Ruby使用的源为cocoapods.org,安装网上建议的换成淘宝的源:

 gem sources --remove http://rubygems.org/
gem sources -a https://ruby.taobao.org/

换好了后可以使用一下命令查看:

gem sources -l

显示结果为:

CURRENT SOURCES            

http://ruby.taobao.org/

安装好之后,查看ruby版本2.0:

ruby -v

设置Ruby 2.0为默认版本:

rvm default 2.0.

二、安装cocoapods   

在终端输入如下安装命令 (在执行pod setup命令时,时间可能有点长,我等了30多分钟,以为是卡在这里了,反复强行结束终端几次,最后没管它,一段时间后看成功了):

 sudo gem install cocoapods
pod setup

三、cocoapods的使用之AFNetworking例

首先,我们可以试下如下命令搜索,看看cocoapods是否支持AFNetworking(是支持的,具体结果我就不贴出来了):

pod search AFNetworking

然后,切换到你需要添加类库的iOS程序文件夹根目录,比如你在桌面建立了一个cocoapodstest01的项目,那么你在终端用cd命令切换到这个文件夹下:

cd /Users/xxx用户名/Desktop/cocoapodsTest01/

建立一个名为Podfile的文件:

vim Podfile

然后再Podfile中输入如下命令(这个命令是开发AFNetworing的作者给你的):

platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"

然后输入如下命令保存退出:

:wq

继续输入命令,利用cocoapods下载AFNetworing类库:

pod install

最终成功的结果输出如下:

EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.0.)
Generating Pods project
Integrating client project [!] From now on use `CocoaPodsDemo.xcworkspace`.

这里的结果最后有个 CocoaPodsDemo.xcworkspace文件,我们在桌面的项目文件中,需要打开这个文件,而不是xcodeproj文件,这是你会看到AFNetworing已经成功导入了,你直接引用头文件测试吧!

更新第三方类库,需要切换到Podfile统一目录下,输入如下命令:

pod update

    

  

    

cocoapods 类库管理利器的更多相关文章

  1. OS X第三方类库管理工具cocoapods入门

    一.简介 什么是cocoapods?--是OS X和iOS下一个第三方类库管理工具.通过cocoapods,可以为项目添加"Pods"依赖库,并且管理其版本. cocoapods好 ...

  2. Xcode push带有cocoapods类库的项目到git仓库

    关于git之一点不熟悉,以前公司的项目搭建,版本控制这块,都是有专门的人在做,当然那时候也是用的git项目中也包含了cocoapods类库,当前公司比较闲, 所以研究了下git,用的是git.osch ...

  3. [转]Linux后台进程管理利器:supervisor

    FROM : http://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000 Linux后台 ...

  4. CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  5. Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET

    Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...

  6. Cocoapods依赖管理

    对于iOS App的开发,几乎都采用了Cocoapods来管理第三方库,那么对于开发人员来说,这是必备技能,必须要掌握如何使用.这篇文章就是介绍如何安装和使用CocoaPods的. 简单来说,就是专门 ...

  7. KVM镜像管理利器-guestfish使用详解

    原文  http://xiaoli110.blog.51cto.com/1724/1568307   KVM镜像管理利器-guestfish使用详解 本文介绍以下内容: 1. 虚拟机镜像挂载及w2k8 ...

  8. linux下远程管理利器-tmux

    linux下远程管理利器-tmux 1.控制键       控制键就是tmux的主键.当你在tmux环境下按下这个键的时候,tmux就会把你后面输入的指令,解析成它内置的功能.tmux默认的控制键是 ...

  9. scribefire 多博客管理利器 安装详解

    scribefire 多博客管理利器 安装详解 一.ScribeFire介绍 ScribeFire 是 Firefox (火狐浏览器)上著名的博客写作工具,目前已跨平台支持多浏览器(Firefox,C ...

随机推荐

  1. string类型的方法

    var str1 = ' this is string1 '; var str2 = 'this is string2'; str1.indexOf('s'); //args:string retur ...

  2. 对sass通过compass进行编译

    1.创建一个Compass项目:compass create myproject 其中myproject是项目名称.2.编写scss文件.3.编译成css文件:①:Compass的编译命令是:comp ...

  3. Microsoft JDBC Driver 使用 getParameterMetaData 会报错?

    不知道为何使用 Microsoft JDBC Driver for SQL Server 驱动时,sql语句不带参数没有问题,但是如果带参数且使用 getParameterMetaData 就会提示某 ...

  4. servlet获取并存储web.xml中context-param参数

    在web.xml中定义了context-param,一般不会随意改动,所以在监听器中做一次处理,容器启动时读取并存储在Properties中,方便以后取值. SysProperties 类用于存储 c ...

  5. 02------css选择器

    css的选择器:1.基本选择器 2.高级选择器 基本选择器包含: 1.标签选择器标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某 ...

  6. Options Menu的android3.0以上和以下版本显示刷新原理,刷新适配

    一 显示区别: 2.3.x及以下版本,需要按菜单键显示菜单,当菜单打开时,第一个可见的部分是图标菜单,最多可容纳6个菜单项.如果你的菜单包括Android的地方超过6项,第六项,其余将被归到”More ...

  7. Hadoop计数器

    1. MapReduce计数器是什么 计数器是用来记录Job的执行进度和状态的,其作用类似于日志.我们可以在程序的某个位置插入计数器,记录数据或进度的变化情况. 2. MapReduce计数器能做什么 ...

  8. 你一直在用的 Spring Boot Starters 究竟是怎么回事

    Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...

  9. Spring+Junit+Mock测试web项目,即Controller

    准备:Maven依赖 <!-- Spring和MVC的包这里不列出来了,webmvc,aspects,orm,其他maven会自动导 --> <dependency> < ...

  10. UVALive 4262——Trip Planning——————【Tarjan 求强连通分量个数】

    Road Networks Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Stat ...