CocoaPods的简单使用

前几天和一哥们聊天,聊到了CocoaPods,觉得这个东西不错,于是就来研究了一波,已然会一些简单的使用了。但是我发现网上的一些资料都写的不够详细,于是我就自己写了一个更详细的,供大家需要之时参考参考。

1、为什么需要CocoaPods

在进行iOS开发的时候,总免不了使用第三方的开源库,比如AFNetworking、SDWebImage、MBProgressHUD等等。使用这些库的时候通常需要:

  • 下载开源库的源代码并引入工程;
  • 向工程中添加开源库使用到的framework;
  • 解决开源库和开源库以及开源库和工程之间的依赖关系、修改Search Path等问题;
  • 如果开源库有更新的时候,还需要将工程中使用的开源库删除,重新执行前面的三个步骤,顿时头都大了。。。

自从有了CocoaPods以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会为我们做好一切

2、什么是CocoaPods

CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。

使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。

这里CocoaPods的官网地址:https://cocoapods.org/

3.安装CocoaPods

第一步:CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。而OS X系统默认的已经可以运行Ruby了。

但是我们发现,虽然CocoaPods的官网可以进,而在终端里获得这里的资源却是得不到,因为输入sudo gem install cocoapods半天没反应,说明是被国内屏蔽了。为了解决这个问题,淘宝的工程师们自己弄了一个它的镜像。RubyGems淘宝镜像

接下来,我们打开终端,先可以查看系统内的该资源类型,输入以下代码:

gem source -l

很快会显示出当前的资源类型,*** CURRENT SOURCES ***,如果没做过改变,结果应该是https://rubygems.org。

那么接下来就移除它,输入下列代码:

gem sources --remove https://rubygems.org/ 
//等有反应后,在输入下面的
gem sources -a http://ruby.taobao.org/(原来是这个,现在由于已经改为了基于HTTPS协议的,所以要改为gem sources -a https://ruby.taobao.org。如果原来装过淘宝http的镜像,现在要改的话,输入这行代码:
gem sources --add https://ruby.taobao.org/ --remove http://ruby.taobao.org/ )---2015.10.28修改
//然后输入 gem sources -l  可以用来检查使用替换镜像位置成功
第二步:下载并安装CocoaPod

这次就很简单了,只需要输入以下代码:

sudo gem install cocoapods

等待安装即可。如果没有下载完,终端的那个关闭窗口的红会一直显示为一个圆点。只有下载完后,才会显示为x。这可能会需要一段时间,莫着急。

4、使用CocoaPods

如果之前做的一切顺利,接下来就可以体验体验CocoaPods的神奇之处了,需要经过以下几步:

为了演示这个过程,我在桌面创建了一个名为“乡味”的工程。

第一步:在该工程中生成一个叫Podfile的文件。

要在该工程中新建Podfile文件,我们先需要在终端中把命令的路径切换到当前文件夹中。

有2种方式,1、cd desktop/乡味 ;

2、cd /User/shipeng/Desktop/乡味

如下图所示:

需要注意的是,在终端中输入的代码区分大小写。如果输入错误,会提示找不到该文件。如下图所示:

在终端命令中,cd就是切换路径的意思。

当切换到该路径后,然后输入下面的代码:

 vim Podfile

终端的显示如下,


然后接着输入字母i,进入编辑模式,终端显示如下:


接着输入我们要导入的第三方库的名字,这些都是必须在GitHub上有的,比如我导入MBProgressHUD,输入以下代码,

pod 'MBProgressHUD'

然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq。我们会发现当我们输入":"的时候,输入的闪动符跳到了最下面。注意:键盘输入 ":"后,才能输入wq。

(图中输入了platform:ios,'7.0',后来我发现不需要,输了倒会出现错误。不过有些第三方库是需要的,比如在导入AFNetworking的时候需要输入平台)


然后点击会车,我们会发现项目文件夹里多了一个Podfile文件,并且终端里的显示变成了下面这个样子:


细心的人可能从我的截图中发现,我后面没有用“乡味”作为实验,对的,我换了,但是不要在意这些细节,步骤是这样的就行了。^_^

接下来就是机见证奇迹的时刻了,我们继续在终端输入以下代码:

pod install

然后回车,就可以了,这个过程可能需要1个小时,甚至更久。不要着急,第一次是这样的,准备的东西比较多。直到终端的左上方关闭的按钮由圆点变为x,就说明装好了。如果你在中途点了关闭,会有一个这样的提示:


当装好后,文件夹里会是这样的显示:



里面多了好几个文件,需要注意的是,现在打开项目不是点击 .xodeproj文件了,而是点击 .xcworkspace文件。

以后再需要导入一些其他的第三方库的时候,或者需要删除一些已经安装的库的时候,都是在这里Podfile里进行编辑,

添加就是直接在下面加一个pod 'xxxxxx',删除就是直接去掉某一行。

这里面有一个pod “AFNetworking” ,“~>2.0”,也可以不写“~>2.0”,不写的话,默认下载最新版。下面是全部的表达方式:

  1. pod 'AFNetworking'      //不显式指定依赖库版本,表示每次都获取最新版本  
  2. pod 'AFNetworking''2.0'     //只使用2.0版本  
  3. pod 'AFNetworking''> 2.0'     //使用高于2.0的版本  
  4. pod 'AFNetworking''>= 2.0'     //使用大于或等于2.0的版本  
  5. pod 'AFNetworking''< 2.0'     //使用小于2.0的版本  
  6. pod 'AFNetworking''<= 2.0'     //使用小于或等于2.0的版本  
  7. pod 'AFNetworking''~> 0.1.2'     //使用大于等于0.1.2但小于0.2的版本  
  8. pod 'AFNetworking''~>0.1'     //使用大于等于0.1但小于1.0的版本  
  9. pod 'AFNetworking''~>0'     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本



然后在终端里cd到该工程内,输入

pod update --verbose --no-repo-update

即可。

为什么要输入pod update --verbose --no-repo-update,而不是pod update呢?

因为如果直接用pod update的时候,每次都重新更新获取CocoaPodsspec,加一个参数可以省略这一步,直接下载所需库,速度就快多了,不然要像第一次一样要好久好久,我可是什么都试过的,说多了都是泪。


还有,如果在导入了这些第三方类库之后,在使用它们的头文件的时候,#impro""后发现没有自动显示出这些新导入的类库的名字,这时候需要做一件事,在项目的Build Settings中的Search Paths的User Header Search Paths里加入一行,${SRCROOT},如下图所示,


还有,

在下载一个新的库之前,可以先在终端搜索一下,看是否有这个东西,输入pod search xxxxxxx即可,比如搜索pod search SDWebImage。

好了,大致就是这些了,如果大家在这里还有什么问题,可以问我~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值