开篇
公司项目一直在用CocoaPods管理第三方包,所以就写了个开源图片选择库(仿微信),随带学学CocoaPods私有库的配置以及如何让自己的开源库支持了pod install。
准备工作
github创建私有库 如testSpecs.git
pod repo add testSpecs https://github.com/qgg/testSpecs.git
github创建工具库 如QGGImagePicker 注意创建的时候勾选开源协议
命令行创建模版工程
1 | pod lib create QGGImagePicker |
根据提示创建完成
1 | $ pod lib create QGGImagePicker |
完成后打开工程目录如下:工具库主要在红框内容Classes目录下进行开发
修改工程下的.podspec文件,如
1 | # Be sure to run `pod lib lint QGGImagePicker.podspec' to ensure this is a |
本地验证
1 | pod lib lint |
验证成功后推送工程到github给如QGGImagePicker工具库打tag(和podspec中的版本保持一致)
验证远程库
1 | pod spec lint |
看到输出如下内容就成功了
QGGImagePicker.podspec passed validation.
私用库中添加工具库
1 | pod repo push testSpecs QGGImgePicker.podspec |
使用
pod search QGGImagePicker
Podfile文件添加 pod ‘QGGImagePicker’, ‘~> 0.0.1’
pod update –verbose –no-repo-update
注意这时候会报错,解决办法
pod spec lint –sources=‘https://github.com/qgg/testSpecs.git,https://github.com/CocoaPods/Specs‘
或者
将~/.cocoapods/repos/testSpecs/下的内容copy到~/.cocoapods/repos/master/Specs下
支持CocoaPods公开库
方法一
到https://github.com/CocoaPods/Specs.git 下fork一份并clone到本地
将私有库中的.podspec文件转成.json格式添加到工程中, 再到github上的fork工程中发起 [New pull request]
1 | $ pod ipc spec QGGImagePicker.podspec >> QGGImagePicker.podspec.json |
将内容(目录结构如下)添加到CocoaPods/Specs提交
待作者审核后即可
方法二 (推荐)
注册trunk
1 | pod trunk regist qgg@163.com 'qgg' --verbose |
去邮箱验证trunk注册,用下面的命令查询自己的trunk注册信息
1 | pod trunk me |
将.podspec推送到CocoaPods的repo
1 | pod trunk push QGGImagePicker.podspec |
这个过程会验证podspec文件是否合法--上传podspec文件到turnk服务器(省去了fork和pull request的操作)--将podspec文件转化成json格式的文件。
最后
分享几篇我参考的文章
https://cocoapods.org/
http://www.cocoachina.com/ios/20150508/11785.html
http://www.cocoachina.com/ios/20150228/11206.html