简介
安装
- 使用MAC自带的ruby下的gem命令:
|
|
在执行pod setup时,会输出Setting up CocoaPods master repo,但是会执行很长时间,在此期间CocoaPods将它的信息下载到~/.cocoapods目录下,此时可以cd到该目录,使用du -sh 命令查看下载进度。使用镜像索引可以提高下载速度(下面有介绍)。
- 将ruby源替换成国内淘宝源
|
|
- 如果安装的CocoaPods不能使用,可以尝试更新gem (sudo gem update —system),更新Iterm(删除原有的iterm,下载并安装新版本的iterm)。
镜像索引
所有的项目的PodSpec文件都托管在podSpec。第一次执行pod setup时,将这些索引文件更新到本地~/.cocoapods/目录下。该文件比较大,所以第一次更新比较慢。
akinkiu在gitcafe和occhina上建立了CocoaPods索引镜像。gitcafe和occhina都是国内服务器,在执行索引更新操作时会比较快。
CoaoaPods设置成gitcafe镜像:
|
|
将以上url改为http://git.oschina.net.akuandev/Specs.git即可使用occhina镜像。
用法
cd到以创建的项目的目录下执行以下命令
pod init (生成Podfile文件,编辑该文件,添加所要加入的第三方库的名称版本(版本可以不用加))
eg:
pod ‘AFNetworking’, ‘~> 2.0’
pod ‘JSONKit’
pod install (自动将加入的第三方库源码下载下来,且为项目设置号好相应的系统依赖和编译参数)
注意
使用CocoaPods生成的*.xcworkspace文件打开工程,而不是以前的*.xcodeproj文件。
每次修改了Podfile文件,都需要执行一次pod update命令。
pop install之后还生成的另一个文件Podfile.lock,该文件不能放在.gitignore文件中。该文件用来锁定当前各依赖库的版本,之后及时多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock文件。该文件可以在多人协作时,防止第三方库升级造成大家各自的第三方库的版本不一致。Podfile.lock
查找第三方库
查找CocoaPods管理是否有你想要的库,执行命令 pod search
eg: pod search json 可查找与接送有关的所有库
- 生成第三方库帮助文档
使用CocoaPods生成第三方库的帮助文档并集成到Xcode中,可使用brew安装appledoc即可:
|
|
其优点:将帮助文档集成到Xcode中,在敲代码时可以按住opt键查看相应帮助文档
- 不更新podspec
CocoaPods在执行pod install 和 pod update 时,会默认更新podspec索引。禁止更新podspec的命令:
|
|
原理
CocoaPods的原理是将所有的依赖库都放到一个名为Pods的项目中,然互让主项目依赖Pods项目。
- Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖.a这个文件即可。
- 对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方的各个资源文件复制到目标目录中。
- CocoaPods通过一个名为Pods.xcconfig的文件在编译的时候设置所有的参数和依赖。