开始之前,先介绍一下私有库的组成(个人理解),按顺序看比较好理解。
-
代码仓库。即git地址,
组件完整代码的存放地址
,如github、gitlab等 -
远程仓库。即组件
.podspec
文件在github/gitlab中的存放地址,以便提供给其他开发使用 -
本地仓库。即组件
.podspec
文件在本地的存放地址。.podspec
文件我理解为索引,它包含组件的详细信息,如代码地址、版本号、主页、以及它的依赖等等。
先看一下.podspec
文件是什么?打开~/.cocoapods/repos
(此文件为隐藏文件)如图:
在你没有引入其它组件库的情况下只有master、Spec_Lock和trunk组成,这里因为我使用了阿里百川组件,所以多了一个aliyun的文件夹,将来这里也会加入你自己的组件库,以上图图组件为例,这里只存放组件的.podspec
文件,而不是完整代码,你可以打开某一个文件看下里面的内容,可以更好理解之后的内容。
一个完整的流程大致上如下图:
下面正式开始私有库的搭建(文章内容已github为例):
第一步、创建远程仓库
打开github或者gitlab,新建一个project。很简单的操作,略过!
第二步、创建本地仓库
pod repo add mySpecs https://github.com/*****/MySpecs
其中mySpecs
自己命名,命名规则随意,自己理解即可,后面的地址为远程仓库地址。
执行完打开文件~/.cocoapods/repos
,可以看到多了一个mySpecs的文件夹,这就是你的本地组件仓库。
第三步、创建代码仓库
再次新建一个project,用于组件完整代码提交
第四步、组件开发
4.1、创建组件工程
打开终端,执行:
pod lib create MyImageView
这里我默认创建在用户目录下了,实际开发中你可以自定义一个文件夹,cd
到此文件夹下,再执行上面的命令
只有会有几个很简单的问题,按提示回答即可。这里一般我都会包含一个demo工程,方便使用者快速接入。
打开刚刚创建的工程,如图:
4.2、添加组件代码
删除上一步Classes
文件夹下ReplaceMe.m
,将已经开发完成的组件代码,拖入到Classes
文件夹下
然后打开终端cd
到Example
文件加下,执行pod install
执行完成之后,打开Example工程,添加调试代码,确认没问题之后执行下一步
4.3、编辑.podspec文件
终于轮到主角登场了,这个文件之前就有提到过,里面包含组件的基本信息:名称、版本、代码地址、依赖信息等,如图:
如果组件没有别的依赖、图片资源等只需要填写上面圈出的基本信息即可,确认填写信息无误,进入下一步
4.4、将组件代码提交到远程代码仓库
提交很简单的吧,会的跳过即可,这里主要是要打上tag
,tag要与组件的版本号一致:
打开终端,cd至组件根目录
cd ~/MyImageView
git remote add origin 代码的git地址
git add .
git commit -m "提交描述信息"
git push -u origin master
git tag 0.0.1
git push origin 0.0.1
4.5、私有库验证
打开终端,cd至组件根目录
cd ~/MyImageView
pod lib lint --allow-warnings
时间有点久,耐心等待......
提示绿色的**** passed validation
表示成功
继续执行:
pod spec lint --allow-warnings
两次验证都成功,进入下一步
4.6、将私有库推送到本地仓库和远程仓库
打开终端,cd至组件根目录
cd ~/MyImageView
pod repo push mySpecs MyImageView.podspec --allow-warnings
成功之后你可以打开~/.cocoapods/repos
,查看自己的组件是否添加到组件库内
网友评论