CocoaPods简介
在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并且库之间还存在依赖关系,更增加了手动管理的难度。开源库如果升级了,你也想用最新版本,还需要重新手动导入,这大大增加了工作量。但用了CocoaPods后,安装和升级都只是一句命令的事情,让你可以专于业务本身。
CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
CocoaPods安装
- 安装Ruby
CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境。幸运的是Mac系统默认自带Ruby环境,如果没有请自行查找安装。检测是否安装Ruby:1
gem -v
gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem源来查找、安装、升级和卸载软件包,非常的便捷。
- 更换gem源
1 | $ gem sources --remove https://rubygems.org/ |
更换之后查看时候更换成功
1 | gem sources -l |
如果是淘宝的镜像则代表安装成功
- 安装CocoaPods
1 | sudo gem install cocoapods |
pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。
安装完成后查看是否安装成功
1 | pod --version |
CocoaPods使用
- 创建Podfile
1 | vim Podfile |
- 编辑Podfile
1 | platform :ios, '9.3' |
platform 的意思是系统支持的最低版本
use_frameworks!不写也是可以的。不过最好写上
target是你的工程名
do开始 end结束
- 退出Podfile
先按ESC,然后执行
1 | :wq |
然后你将编辑好的 Podfile 文件放到你的项目根目录中,执行如下命令即可:
1 | cd "your project home" |
其实Podfile也可以用文本编辑。感觉更方便点,编辑完注意保存就行了。
安装之后使用 CocoaPods 生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
每次更改了 Podfile 文件,你需要重新执行一次pod update命令。
如果想要查找第三方库,可使用1
pod search 关键字
关于 Podfile.lock
当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。
不更新 podspec
CocoaPods 在执行pod install和pod update时,会默认先更新一次podspec索引。使用–no-repo-update参数可以禁止其做索引更新操作。如下所示:1
2$ pod install --no-repo-update
$ pod update --no-repo-update