一、什么是CocoaPods
每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。
CocoaPods项目的源码 在 Github 上管理。该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具。开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间。
二、为什么要使用CocoaPods
在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
1.把开源库的源代码复制到项目中
2.添加一些依赖框架和动态库
3.设置-ObjC,-fno-objc-arc等参数
4.管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install就可以了,Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
三、CocoaPods的原理
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
四、CocoaPods的安装
1. 设置ruby的软件源
1 | $ gem sources -l #(查看当前ruby的源) |
如果Terminal输出:
CURRENT SOURCES
可以用gem sources -l 来检查使用替换镜像位置成功,结果应该只有 https://gems.ruby-china.org/ 才对。
就证明ruby的软件源已经设置OK了。
2. 设置gem为最新版本
1 | $ sudo gem update --system |
升级成功后会提示: Latest version currently installed. Aborting.
3. 执行安装CocoaPods命令
$ sudo gem install cocoapods // Mac OS X 10.11前 输入这一条
$ sudo gem install -n /usr/local/bin cocoapods //Mac OS X 10.11后 输入这一条
成功后
$ pod setup
这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本 地,
这一步,
很慢…..
很慢……….
很慢……………
大约要下载200M的文件,偏偏下载速度出奇的慢,本人保持在30K/S,大约2个小时,关键是没有任何进度条显示,就这样傻乎乎的卡死在这里
五、Cocoapods的使用
1. 引入第三方库到项目中
创建一个工程,并创建podfile配置文件
先用cd进入到工程中去
输入指令vim podfile创建podfile文件,然后按i进入到编辑模式
配置文件固定语句如下:
1 | platform :ios, '8.0' |
- 然后按esc,接着按” : “ 然后输入wq 按回车键 返回终端界面,
输入终端命令
1
$ pod install
意思是初始化,所以每次添加新的库的时候,之前的指令都不能删除,它只会添加指令中有的库。
- 如果发现安装cocoapods之后,初始化pod时在receive object是正常情况 需要耐心等待。
2. 更新CocoaPods中的第三方们。
- 第三方库们都有人在维护升级,我们需要隔断时间就要更新下我们工程中第三方库的版本。只需要终端输入命令
1 | $ pod update |
就可以了。
- 如果遇到pod
install或者pod update慢的问题,原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
1 | $ pod install --verbose --no-repo-update |
3. 删除CocoaPods中的某些第三方们。
当我们需要去掉某个第三方库时,只需要在Podfile删除该引入该库的语句,然后执行
1 | $ pod update或者 $ pod install |
就可以了。
4. 将CocoaPods从项目中删除
如果你在以后的使用过程中不想用CocoaPods了怎么办?很简单,把多出来的东西们都删掉就可以了,不过为了项目正常运行,你需要手动导入已经使用的第三方们哦。
5. 升级CocoaPods
升级CocoaPods版本的命令和安装CocoaPods的命令一样,都是
1 | $ sudo gem install cocoapods。 |
如果老版本升级cocoapods的时候提示Operation not permitted - /usr/bin/xcodeproj
,改用命令
1 | $ sudo gem install -n /usr/local/bin cocoapods --pre |
就可以了。
6. 卸载CocoaPods
卸载CocoaPods的命令是:
1 | $ sudo gem uninstall cocoapods |
六、 文章的最后附上一些常用指令
1. pod安装
1 | # 添加源 |
2. gem常用命令
1 | # 查看版本 |
3. pod命令
1 | # 第一次使用安装框架 //只用安装一次,之后使用 添加删除都用 pod update --no-repo-update |