作为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. jQuery Plugin Poshy Tip 使用 统一提示信息

    项目到了后期,发现前端的提示信息不统一,解决思路如下: 1.回顾系统中tip出现的场景:表单验证提示信息.数据列表中随填随显 2.确定问题域:多条提示信息层叠.信息显示风格不统一 3.结论:找出一款合 ...

  2. 惠普台式机UEFI BIOS设置U盘启动

    开机按F9进入选中安装u盘启动软件的u盘,即可进入u盘启动选项,将于U盘安装系统操作一致 如:F9未找到U盘,可进行如下操作 1.开机时点击F10键进入BIOS更改选项:  更改 Advanced-- ...

  3. 练习二十二:python兵乓求比赛顺序练习,关于连个兵乓球队进行比赛

    已知有两支兵乓球队进行比赛,每队各出3人: 甲队有a,b,c三人,乙队有x,y,z三人,已抽签决定比赛名单 问题:有人向队员打听比赛名单.a说他不和X比,c说他不和x,z比,程序找出比赛对手 方法一: ...

  4. count(1), count(*), count(col) 的区别

    1.count(1)和count(*)都是统计表的总行数,两者执行结果相同.表没有主键或者唯一键索引时,两者都进行全表扫描:表上主键或者唯一键索引时,使用主键或者唯一键索引. 2.count(col) ...

  5. LeetCode 101 Symmetric Tree 判断一颗二叉树是否是镜像二叉树

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For ex ...

  6. POJ 3304 Segments 判断直线和线段相交

    POJ 3304  Segments 题意:给定n(n<=100)条线段,问你是否存在这样的一条直线,使得所有线段投影下去后,至少都有一个交点. 思路:对于投影在所求直线上面的相交阴影,我们可以 ...

  7. log(A/B) = logA -logB

    令 X = logA, Y = logB, Z=log(A/B) .2x = A, 2y = B, 2z = A/B, 则有 2z = A/B = 2x / 2y = 2x-y ,有z = x-y,即 ...

  8. Shell笔试题2

    1. 从a.log文件中提取包含"WARNING"或"FATAL",同时不包含"IGNOR"的行,然后提取以":"分割的 ...

  9. 最简实例演示asp.net5中用户认证和授权(4)

    上篇: 最简实例演示asp.net5中用户认证和授权(3) 上面我们把自定义认证和授权的相关的最小基础类和要实现的接口都实现了,下面就是如何来进行认证和授权的配置. 首先我们要告诉系统,我们的用户和角 ...

  10. Spring相关理解

    日常拖完整患者............... 待续...