注意:因为淘宝停止基于 HTTP 协议的镜像服务, 需要改用https的协议,所以gem sources -a http://ruby.taobao.org/应该写为gem sources -a https://gems.ruby-china.org/


接触过一段时间的iOS开发的朋友,应该或多或少都知道一些加载第三方库的知识。通常学习的前期,我们都是选择使用哪个第三方库,就将这个第三方库给拖拽到我们的程序中。该方法的好处是简单快捷,但不便于维护:

  1. 如果该第三方库有更新,需要手动更新到自己的程序中,不便于操作;

  2. 如果该第三方库中又使用了其它第三方库,则还需要将关联的第三方库给加载到程序中,增加了维护的成本。

       为了解决上述问题,我们可以使用强大的CocoaPods——CocoaPods应该是iOS最常用最有名的类库管理工具了,只要设置和使用正确,通过cocoaPods,只需要一行命令就可以完全解决上述的问题——简单的代码更新第三库;自动关联当前第三方库需要的其他第三方库。目前为止,绝大部分有名的开源类库都支持CocoaPods。所以,作为iOS的程序员们,学习并掌握CocoaPods的使用是必不可少的基本技能了。

        废话不多说了,下面介绍CocoaPods的安装和使用方法。


一、下载和安装CocoaPods


1. 首先在本地安装好Ruby环境——如果你的电脑中已经安装了Xcode了,则不需要再单独安装Ruby了,因为Xcode已经帮你安装好所需要的环境了;


2. 打开终端,如下图:

wKiom1TOCauwT4tIAABgkMlw9mE849.jpg



3. 如果你不在伟大的天朝国度,则该步骤省略,直接跳转到第6步。我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入如下命令:


3.1 gem sources --remove http://rubygems.org/

效果如下图:

wKioL1TOCqbTud2yAACBVyAs5jE990.jpg


3.2 按回车,等有反应了之后,再输入以下命令:gem sources -a   https://gems.ruby-china.org/(下图中未修改,请注意)

效果如下图:

wKioL1TOC1HCIvxxAAC7H6OWi1Q691.jpg

3.3 按回车。以上两步操作完成后,效果如下图:

wKiom1TOCrXi9cmyAAD3dE5FLkk941.jpg

因为楼主已经在本机上使用了淘宝的Ruby,所以在每次输入上述的命令的时候,会有这样的提示。没有安装过的朋友根据自己的显示就可以了。


4. 接下来,我们来验证当前的Ruby镜像是否仅仅是淘宝的,在终端输入如下命令:gem sources -l

效果如下图:

wKiom1TOC4WQmT1uAAEBrzA2NBw930.jpg

5. 按回车,稍等几秒钟,效果如下图,显示当前Ruby镜像为淘宝的:

wKioL1TODPPwqPuoAAEzitALhEY746.jpg


6. 以上操作全部完成后,在终端继续输入如下命令来下载并安装CocoaPods:sudo gem install cocoapods

效果如下图:

wKiom1TODIixlgV5AAFKaraIZsA092.jpg

7. 按回车,此时会提示输入密码,如下图:

wKiom1TODPnQ5u7DAAFO40dkmSo668.jpg

此密码为使用当前电脑账户(注意,是电脑账户,而不是app store账户)安装软件的时候的密码。因为不会显示输入的字符甚至是字符的个数,所以一定要确保输入正确了再按回车键!等待十几秒,CocoaPods就安装成功了!如果你是第一次安装,则成功后会显示老大一串字符了,工程庞大啊!楼主已经安装过了,所以显示界面如下图所示:

wKioL1TOD97zk5Z9AAGiPriDMus193.jpg


截止到目前,我们已经将CocoaPods安装好了,下面介绍如何使用CocoaPods安装第三方类库。


二、使用CocoaPods安装第三方类库(以安装AFNetworking为例说明)

1. 首先,核实AFNetworking是否支持CocoaPods。在终端中输入如下命令:pod search AFNetworking

效果如下图:

wKiom1TOD5fi9Q_KAAGyTciU1_4377.jpg

2. 按回车,等上几秒钟之后,如果AFNetworking支持CocoaPods,则会显示当前所有的版本,如下图所示(由于内容太多,楼主就只截图了其中的一部分):

wKioL1TOES7TkUrYAAU_4Keep2U654.jpg

3. 验证AFNetworking支持CocoaPods之后,打开Xcode,创建一个名为CocoaPodsDemo的单视图程序,创建完成后的目录结构界面如下(楼主使用的是Xcode 6.1.1版本):

wKiom1TOESGyAv-qAAElKqSEgA0517.jpg

4. 打开终端,进入当前项目(CocoaPodsDemo)所在的目录。楼主将该项目创建在了桌面上,所以输入的命令为:cd desktop/CocoaPodsDemo

如下图所示:

wKioL1TOFfvjA-ubAAByThVlpws618.jpg


5. 回车,此时进入了CocoaPodsDemo所在目录了,如下图所示:

wKiom1TOFUqTzUruAACGhYqEDb8985.jpg

6. 然后在当前目录下,利用vim创建Podfile(Podfile是用来控制CocoaPods该下载什么(注意,一定得是这个文件名,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库。每个项目只需要一个Podfile文件)。接着上面的操作,在终端中输入如下命令:vim Podfile

效果如下图所示:

wKioL1TOGpODWgLgAACLqgYFJkU544.jpg

7. 回车,显示界面如下:

wKioL1TOIX7DMw3cAABYCP5-CRk460.jpg

8. 在光标闪烁的位置,输入如下命令(注意:该命令可以在AFNetworking的github中找到。实际上,大部分支持CocoaPods的第三库,都会在github上注明在Podfile中要写上的内容的,请务必注意。):

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

效果如下图所示:

wKiom1TOIaqxhiQ-AAB8sCqszTE924.jpg


9. 然后,先按esc键,接着输出 :wq退出。此时可以在CocoaPodsDemo目录下面,看到一个Podfile的文件。用记事本打开该文件,可以看到已经写到上面的类库,如下图:

wKioL1TOIymSXN0UAABX3PxqqMc093.jpg

10. 此时,就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:

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


效果如下图所示:

wKiom1TOHsmh_UIgAACPl3Qb-eM790.jpg

11. 回车,稍等一段时间,AFNetworking就安装成功了,如下图所示:

wKioL1TOMU7CCwMhAAIYdJVkLmQ786.jpg

12. 此时,在CocoaPodsDemo目录下,将会发现多了一个名为CocoaPodsDemo.xcworkspace的文件,及其他几个文件和文件夹,如下图所示:

wKiom1TOMRWxYMXdAADeCyJiYVo876.jpg

13. 此时,关闭CocoaPodsDemo的Xcode文件,打开CocoaPodsDemo.xcworkspace文件,此时,可以看到项目的目录树变成了如下格式:

wKiom1TOMlDhYfJlAAFi1RK7Tfs578.jpg

可以看到,需要的第三方类库已经添加到项目中了。


到此为止,CocoaPods的安装和使用就介绍完了。切记,添加了CocoaPods的项目,以后再编辑程序,请使用后缀名为.xcworkspace的文件来打开。


如果想将其他类库加载到Podfile中,可以用记事本打开不带后缀名的Podfile文件,然后输入想要加载的类库名,如下图所示:

wKiom1TONIGjK4cTAABsfi5TpuM849.jpg

保存好之后,再按照上述的第10步(包含之前的一些步骤),重新运行命令:pod install。等待一段时间之后,就可以看到JSONkit也被加载进去了,如下两图:

wKioL1TON2nAcJWWAAI0Er6L7nc193.jpg

wKiom1TONsHAli8RAADYiySqFew603.jpg