使用CocoaPods管理框架

1、使用CocoaPods管理框架
如果我们只是添加了少量的第三方框架,那么手动管理起来也不算什么难事,但是如果我们使用了大量的第三方框架的时候,管理起来就会变成十
分繁杂的过程,此外,如果要获取第三方框架的更新,手动管理无异于重新
添加一遍第三方框架。因此,我们需要使用工具来帮助管理这些第三方框
架,CocoaPods让管理框架的操作变得简单易用。
CocoaPods是一款十分优秀的第三方框架管理工具,使用它我们可以下
载框架的源代码并且导入到工程当中,此外,CocoaPods对框架的更新管理
也是得心应手,我们也不必考虑纷繁复杂的依赖关系了。下面就概述一下这
个工具。

2、安装CocoaPods
CocoaPods是使用Ruby实现的,一般情况下OS X已经配置好了Ruby运行
环境,因此,我们只需要打开终端,输入以下语句:
这里写图片描述
然后输入用户密码即可。
安装截图:(有截取)
这里写图片描述
这里写图片描述

3、常见问题
安装CocoaPods可能会遇到许许多多的问题,下面讲几个常见问题。
3.1、安装超时
比如说我们可能会碰到以下提示:
这里写图片描述
出现这个情况,一般就是安装超时。首先先检查一下当前网络的通畅情
况,因为这是要连接到rubygems.org去进行下载,本来访问外网就慢,如果
网速还缓慢的话,往往就会导致连接超时的情况出现。
可有些时候网络通畅的情况下,可能还是无法下载。这个时候就需要用
到某宝的镜像服务器了,这个服务器每15分钟同步一次,因此我们完全可以。或者是由 Ruby China 社区专注维护的这个源(https://gems.ruby-china.org/ )。建议后者,某宝好像无法使用了。
用其来代替:
这里写图片描述
为了验证我们当前使用的镜像服务器是淘宝的,输入以下命令:
这里写图片描述
只有在终端中出现下面的文字才表明上面的命令成功了:
这里写图片描述
然后再次输入安装命令,稍事等待后,Cocoapods就自动下载并安装完
成了。
3.2、权限问题
上节的命令有时不一定能够有效执行,因为很可能会弹出以下问题:
这里写图片描述
这个消息意味着,出现了权限问题,当前的系统配置不允许非管理员用户对其进行操作,解决方案很简单,在命令前面加上sudo即可。
3.3、Gem版本问题
由于Cocoapods是以Gem包的形式安装的,如果Gem的版本过低,同样
也会导致安装失败,可能会弹出以下问题:
这里写图片描述
这个时候,只需要运行以下命令,升级Gem即可:
这里写图片描述

4、向项目中添加第三方框架
安装后就是如何使用的问题了。很赞的是,使用CocoaPods同样也很简
单,只需要几行命令即可搞定。
那么我们现在就使用CocoaPods往项目中添加第三方框架吧!我们在这
里准备导入一个第三方数据库框架:Realm。它的地址
为:https://github.com/realm/realm-cocoa
为了确定Realm是否支持CocoaPods,我们可以使用CocoaPods的搜索功
能进行验证,在终端中键入以下命令:

pod search RealmSwift

注意:
我们也可以搜索更适合Objective-C的Realm库:Realm。
过上一会儿(这取决于你的网速和被墙的程度),我们就可以在终端中
看见关于RealmSwift库的一些信息:
这里写图片描述
(我没看到这个信息,而是直接下载了)

这就说明,Realm是支持CocoaPods的,所以我们可以使用CocoaPods将
这个框架导入到项目当中。
首先,我们需要在项目中添加对CocoaPods的支持。打开CrazyBounce-
Swift项目,然后在里面添加一个文件,用来告诉CocoaPods这个项目想要哪
些第三方框架。这个文件叫做“Podfile”(没有后缀),这也是我们在浏览
Github的时候经常看见的文件之一。每个项目仅能拥有一个Podfile文件。
最常用的方法就是在终端中使用vim创建Podfile了,当然,对于某些不
会用vim的人来说,我们使用Mac自带的“文本编辑”应用也能够达成这个效
果。打开“文本编辑”应用,然后在其中输入以下语句:
这里写图片描述
关于版本号,有它独特的制定规则:
·’>1.0’:任何高于1.0的版本
·’>=1.0’:任何高于或等于1.0的版本
·’<1.0’:任何低于1.0的版本
·’<=1.0’:任何低于或等于0.1的版本
·’~>0.1’:任何高于或等于0.1的版本,但是不包含高于1.0的版本
·’~>0’:任何版本,相等于不指定版本,默认采用最新的版本号
然后选择菜单栏的“格式→制作纯文本”选项(或者直接使用快捷键
Shift+Command+T),然后在弹出的对话框中选择“是”,保存文件,将其命
名为“Podfile”(注意,一定要是这个名称),然后选择存储路径为项目的根
目录,随后取消“如果没有提供扩展名,则使用.txt”选项,保存即可。

注意
上面这段命令不是通用的,添加第三方库支持的Pod设置要查看具体的
第三方库的说明,每一个第三方库的命令都不尽相同。并且,Podfile文件一
定要和工程文件.xcodeproj在同一个目录下。
此外,还有一个更为简单的方法,我们进入到项目文件目录当中,然后
使用以下命令,就可以自动生成一个模板文件

pod init

随后开启终端,进入(cd)到项目文件目录当中,然后执行以下语句:

pod install

运行结束之后,会弹出以下信息:
这里写图片描述

这些过程大致做了以下事情:
·分析依赖:这个步骤会分析Podfile,查看不同类库之间的依赖情况。
如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么
CocoaPods会自动设置一个兼容的版本。
·下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目
中。
·生成Pods项目:创建一个Pods项目用来专门编译和管理第三方类库,
CocosPods会将所需的框架、库等内容添加到项目中,并且进行相应的配
置。
·整合Pods项目:将Pods和项目整合到一个工作区当中,并且设置库文
件链接。
注意最后一句话,意思是:以后打开项目就得用CrazyBounce-
Swift.xcworkspace打开,而不是之前的.xcodeproj文件。
这是为什么呢?我们之前也介绍过了,工作区的所有项目都可以访问同
一工作区其他项目的资源和代码,包括其编译信息。因此,我们只需要管理
好我们的项目即可,至于第三方框架的管理,交给CocoaPods去做就好啦!

5、运行CocoaPods管理的项目
我们有些时候经常能碰到这种情况,好不容易在Github上找到了一份非
常棒的代码,然后立马下载了下来,结果发现根本无法编译,出现了各种各
样的错误。其实,其根本原因是缺失了各种第三方框架,如果这个时候项目
包含有Podfile的话,那么我们就可以用CocoaPods来下载所需要的类库了。
在这里,我们选择一个简单的图表库——PNChart,这个是
kevinzhow(微博:周楷雯Kevin)的作品,这个作品是一个非常炫酷的图表
库,同样,它也使用了Podfile。
前往Github(https://github.com/kevinzhow/PNChart)下载该项目,然后在
终端中进入该项目中,输入以下命令

pod update

这个命令是根据本地的Podfile来更新本地的类库,如果本地类库不存
在,那么这个命令也会下载本地缺失的类库。
这样,项目就可以成功运行了!

============================我是分割线==================================
2017-04-05更新
淘宝已经关闭HTTP协议的景象服务,改为HTTPS协议。
淘宝ruby地址:https://ruby.taobao.org/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章