一、什么是CocoaPods
当我们开发iOS应用的时候,不可避免的要使用到很多第三方库,如SDWebImage,AFNetWorking。而有些第三方库又依赖其他的第三方库。我们需要将他们一个个的下载下来加到工程里。当项目开发完了,我们还要记得定期去挨个查一下,这些库是不是需要更新了。以上两个问题手动去做非常麻烦,有没有什么工具能够自动帮助我们完成这个事情呢?CocoaPods就是这样一个工具。通过它,我们可以一行命令安装、更新所需的第三方库。
绝大多数知名的第三方库都会支持CocoaPods,通过CocoaPods安装的第三方库都是标准库,避免自己去网上搜索找到的库或者版本不是最新的,或者被人修改过。
CocoaPods的缺陷
当我们需要对第三方库做修改以适应自己的项目时,CocoaPods会带来很大的麻烦,因为你修改过后,通过CocoaPods更新后,修改的记录就会被覆盖。当遇到这种情况时,这个第三方库只有自己手动加入工程中了。
二、安装
- 更换镜像地址
安装CocoaPods时我们要访问cocoapods.org,该网站被墙了,之前淘宝的Ruby镜像也不更新了,使用最新的支持镜像
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
稍等一会,就会提示更新成功。如果提示失败,多试几次就可以了。
使用下面的命令查看是否更换镜像成功
gem sources -l
- 更新ruby
如果安装了XCode,则已经安装了ruby环境,使用下面命令更新ruby
sudo gem update --system
稍等一会就会提示安装成功
- 安装CocoaPods
sudo gem install cocoapods
在10.11中,执行上句会出现
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod
此时改用此语句
sudo gem install -n /usr/local/bin cocoapods
输入密码,稍等一会,等进程结束后,输入
pod setup
- 搜索库
搜索AFNetworking,来检测是否安装成功
pod search AFNetWorking
在我的电脑上搜索到的结果如下
搜索结果.png
能够搜索到结果,说明安装成功。即可开始下面的步骤了
三、使用
使用CocoaPods,需要一个Podfile文件,这个文件会配置所需的第三方库
- 创建测试工程
使用XCode创建一个测试工程cocoaPodsTest -
进入工程所在目录
project.png - 编辑Podfile
在工程目录中,在终端中输入命令
vim Podfile
输入a
,进入编辑模式
加入AFNetworking第三方库 pod 'SDWebImage', '3.7.3'
输入完后,按ESC键,输入:wq
,保存并退出编辑
- 查看Podfile
进入工程目录,打开Podfile文件,或者用命令查看如下cat Podfile
pod.png
其中第一个单引号里是第三方库的名字,第二个单引号里的是这个第三方库的版本号,这两个参数都可以通过pod search命令来查看。
详细说明可以查看官方文档https://guides.cocoapods.org/using/the-podfile.html
http://guides.cocoapods.org/using/using-cocoapods.html
以下是官网引用的关于版本号的说明
'> 0.1' Any version higher than 0.1
'>= 0.1' Version 0.1 and any higher version
'< 0.1' Any version lower than 0.1
'<= 0.1' Version 0.1 and any lower version
In addition to the logic operators CocoaPods has an optimistic operator ~>:
'~> 0.1.2' Version 0.1.2 and the versions up to 0.2, not including 0.2 and higher
'~> 0.1' Version 0.1 and the versions up to 1.0, not including 1.0 and higher
'~> 0' Version 0 and higher, this is basically the same as not having it.
- 安装SDWebImage
还是在当前工程目录下,如果你已经用XCode打开了工程,那么先将工程关闭,然后输入pod install
稍等一会,安装成功后界面如下
install.png - 打开工程
在上一步安装成功后,可以看到界面提醒
Please close any current Xcode sessions and use
cocoaPodsTest.xcworkspace
for this project from now on.
我们以后就要通过cocoaPodsTest.xcworkspace来打开工程了。
输入open cocoaPodsTest.xcworkspace
打开工程,我们看到在工程项目列表里多出了一个pods的项目,现在你就可以使用SDWebImage了
到此cocoaPods安装成功,以后需要导入新的工程,或者需要更新版本,修改Podfile即可
- 对于下载下来的工程,如果发现工程里有Podfile文件,可以先输入
pod update
,再输入pod install
,即可安装项目所需库
网友评论