Install & update
sudo gem install cocoapods
顺便安装文档工具,则cocoapod会自动把文档整合进Xcode
brew install appledoc
search lib
- Way 1: shell pod search XXX,拿到List, 每个库列出了名字、源码、版本等信息,其中有一行_ pod ‘XXX’, ‘~> 0.2.0’_,即为此库的标准PodInfo
- Way 2: 官网https://cocoapods.org查找,界面上有按钮把Info Copy to clipborad
你看到的是非授权版本!爬虫凶猛,请尊重知识产权!
转载请注明出处:http://conanwhf.github.io/2015/09/20/CocoaPod/
访问原文「CocoaPod」获取最佳阅读体验并参与讨论
Integrate to a project
在新建一个Project,未作任何修改时做整合
- 关闭project,打开终端(以下$PROJ表示项目目录)
- 终端运行:
Podfile官方标准格式:cd $PROJ touch Podfile vi Podfile
platform :ios, ‘8.0’
use_frameworks!
target ‘MyApp’ do
pod ‘XXX’, ‘> 2.0’
……
end
把需要的所有库的pod info加进do-end中,保存pod install
- 之后的开发就要使用新生成的_.xcworkspace_文件
- 如果安装的库需要Xcode自带的依赖库,手动在Project config里面安装
Remove/Add more lib
找到需要的库,按规范修改Podfile(删除或添加行),再
pod update –no-repo-update
CocoaPods在install和update 时,会默认先更新一次 podspec 索引, 使用 –no-repo-update 参数可以使其做索引更新操作
Remove all
- 终端:rm -rf Podfile Podfile.lock Pods *.xcworkspace
- Xcode中打开Project,删除项目中的libpods.a和Pods.xcconfig引用
- Build Phases选项,删除”Check Pods Manifest.lock”和”Copy Pods Resources”
Podfile.lock
- Podfile.lock 会锁定当前各依赖库的版本,之后如果多次执行 pod install不会更改版本,要pod update才会改 Podfile.lock
- 为了避免多人协作的时候,第三方库升级时造成大家各自的第三方库版本不一致,不要把这个文件加入到 .gitignore 中
原理
将所有的依赖库都放到另一个名为Pods项目中,然后让主项目依赖Pods项目
- Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可
- 对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
- CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和参数。