1 、去码云或者Coding
上新建两个仓库
2、一个是存放我们的代码仓库,另一个是cocoapods
存放代码的描述文件
3、创建代码仓库的时候记得选上License
文件。
切记是两个私有仓库
私有仓库只是用来存放私有的podspec
,不存放代码。可为外网git
,也可为内网git
。总而言之,只是podspec
的仓库。
代码仓库用来存放自己的源代码的git
,可为外网git
,也可为内网git
。总而言之,只是代码的仓库。
一个私有库,可以存放n
多个podspec
文件,管理着n
多个私有pod
。
Example:
// 这是代码仓库
https://git.oschina.net/baiyingqiu/MyAdditions.git
// 这是存放代码描述文件的
https://git.oschina.net/baiyingqiu/MyRepo.git
打开终端执行:
pod repo add MyRepo https://git.oschina.net/baiyingqiu/MyRepo.git
查看在 Finder
目录 ~/.cocoapods/repos
, 可以发现增加了一个 MyRepo
的储存库。
这样我们的私有仓库地址有OK了。
下面就是操作我们的代码仓库了:
- 把远程代码仓库克隆到本地。
- 把需要的代码和示例功能都放进去
- 打开终端
cd
到当前代码仓库目录下: - 执行
pod spec create MyAdditions
新建xxxx.podspec
文件 - 打开
MyAdditions.podspec
文件,填写。(这里可以看发布CocoaPods公有库) - 终端执行
pod spec lint
校验MyAdditions.podspec
文件 - 报错就解决错误,直到验证成功
- 校验
MyAdditions.podspec
文件的同时不要忘记将本地代码推送到远程仓库去。还有记得打上tag
pod lib lint
完整格式
pod lib lint --no-clean --allow-warnings MyAdditions.podspec
pod lib lint --allow-warnings --use-libraries --verbose --no-clean --sources='http://xxxxx.git'
--verbose:
打印错误
--allow-warnings:
允许警告,默认有警告的podspec会验证失败
--fail-fast:
遇到错误马上停止,默认会完成全过程再停止
--use-libraries:
如果自己私有库包含library
,引用了。a
、.framework
,在验证和提交时需要加
--no-clean:
检查问题
--sources:
如果依赖了其他不包含在官方specs里的pod,则用它来指明源,比如依赖了某个私有库,多个值以逗号分隔。
将MyAdditions.podspec
文件推送到版本库
将项目打上标签推到远程仓库,标签号 和 版本号对应都是0.0.1
pod repo push MyRepo MyAdditions.podspec
到这里要是不报错就表示OK了!
要是报错:
[!] The repo `CaiXinRepo` at `../.cocoapods/repos/MyRepo` is not clean
终端执行:
pod repo update MyRepo
接着执行:
pod repo push MyRepo MyAdditions.podspec
综上就基本结束了!
我们验证一下执行pod search MyAdditions
要是报错
[!] Unable to find a pod with name, author, summary, or description matching `MyAdditions`
执行:
pod repo update MyRepo
之后再执行
pod search MyAdditions
还是不行执行:
rm ~/Library/Caches/CocoaPods/search_index.json
之后再执行
pod repo update MyRepo
最后执行
pod search MyAdditions
使用
platform :ios, '9.0'
# 指定私有source源
source 'https://xxxxxxx/MyRepo.git'
# 官方的source源
source 'https://github.com/CocoaPods/Specs.git'
target 'Demo' do
use_frameworks!
pod 'MyAdditions' #私有库
私有仓库可以随意删除,但不会影响到代码仓库。私有仓库不要加入代码,因为加了也没有任何作用
。
私有库与公有库基本一样,只是一个是官方的git
,一个是自己的git
。私有库需安装,podspec
验证需加上说明,使用的时候需引入。
综上要是还报错,把刚才创建的版本库删了,从头开始
删除私有库:
pod repo remove MyRepo
参考文献:
网友评论