本文参考 唐巧的技术博客
CocoaPods的简介
每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。
CocoaPods项目的源码 在 Github 上管理。该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具。开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间。
CocoaPods的安装
- mac下都自带ruby,可以使用ruby的gem命令即可下载安装
<pre><code>
*$ sudo gem install cocoa pods
*$ pod setup
</code></pre>
注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。你也可以参考本文接下来的使用 cocoapods 的镜像索引一节的内容来提高下载速度
- 如果gem太老,可能也会出现问题,可以使用如下命令升级gem
<pre><code>
$ sudo gem update --system
</code></pre>
- ruby的软件源https://rubygems.org 因为使用的亚马逊的与服务(被墙了),所以需要更新ruby的源,使用如下代码将官方的ruby源替换成淘宝的源
<pre><code>
*$ gem sources --remove https://rubybems.org/ //移除官方源
$ gem sources -a https://ruby.taobao.org/ //添加淘宝源
*$ gem sources -l //罗列源
</code></pre>
- 如果ruby的版本低,这是需要使用RVM来升级ruby
1.安装RVM (RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gems))
<pre><code>
$ curl -L get.rvm.io | bash -s stable
</code></pre>
2.等待RVM安装好,输入一下代码
<pre><code>
** $ source ~/.bashrc
** $ source ~/.bash_profile
</code></pre>
3.显示版本(测试是否安装正常)
<pre><code>
$ rvm -v
</code></pre>
4.使用RVM升级ruby
<pre><code>
** $ ruby -v //查看当前ruby的版本 ruby 1.8.7
** $ rvm list known //列出已知的ruby版本 **
** $ rvm install 2.2.4 //安装ruby 2.2.4 **
** $ ruby -v //查看是否安装成功
</code></pre>
CocoaPods的镜像索引
- 所有的项目的 Podspec 文件都托管
https://github.com/CocoaPods/Specs
第一次执行pod setup时,CocoaPods 会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下,文件比较大,又需要连接外网,下载十分缓慢
一个叫 akinliu 的朋友在 gitcafe 和 oschina 上建立了 CocoaPods 索引库的镜像,因为 gitcafe 和 oschina 都是国内的服务器,所以在执行索引更新操作时,会快很多。如下操作可以将 CocoaPods 设置成使用 gitcafe 镜像:
<pre><code>
** $ gem repo remove master
** $ gem repo add master https://gitcafe.com/akuandev/Specs.git **
** $ gem repo update
</code></pre>
将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用 oschina 上的镜像。
CocoaPods的使用
1.使用终端输入以下代码
<pre><code>
** $ cd "项目文件夹的地址(可直接将项目文件夹拖入终端获得)"
** $ pod init (生成Podfile文件)
** $ vim Podfile (打开Podfile文件)
</code></pre>
2.点击按键“i”在Podfile中添加依赖库的名字,点击"esc"键退出编辑,输入":wq"退出并保存修改
3.在终端输入命令
<pre><code>
** $ pod install //安装依赖库 **
</code></pre>
注意:
(1)使用 CocoaPods 生成的 *.xcworkspace 文件来打开工程,而不是以前的 *.xcodeproj 文件。
(2)每次更改了 Podfile 文件,你需要重新执行一次pod update
命令。
使用CocoaPods查找第三方库
使用"<pre><code>pod search "第三方库名"</code></pre> " 命令查找第三方库
关于 Podfile.lock
当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install不会更改版本要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。
CocoaPods 的这篇 官方文档 也在What is a Podfile.lock
一节中介绍了Podfile.lock
的作用,并且指出:This file should always be kept under version control.