原文请参考:http://blog.wtlucky.com/blog/2015/02/26/create-private-podspec/
创建私有Spec Repo
- 先来说第一步,什么是Spec Repo?他是所有的Pods的一个索引,就是一个容器,如果你用过cocoapods,到~/.cocoapods/repos目录下看看就理解的差不多了。因此我们需要创建一个类似于master的私有Spec Repo;
- 我们需要创建一个 Git仓库,这个仓库你可以创建私有的也可以创建公开的,因为GitHub的私有仓库是收费的,我还不是GitHub的付费用户,所以我使用了其他Git服务,我使用的是CODING,当然还有其他的可供选择开源中国、Bitbucket以及CSDN;
# pod repo add [Private Repo Name] [GitHub HTTPS clone URL]
$ pod repo add WTSpecs https://coding.net/wtlucky/WTSpecs.git
创建Pod项目工程文件
- 现在来说一下这个工具,相关的文档介绍是Using Pod Lib Create 就拿我创建的podTestLibrary为例子具体讲一下这里是如何操作的,先cd到要创建项目的目录(自己喜欢的任意目录)。然后执行:
$ pod lib create podTestLibrary
之后按提示做即可。
- 接下来就是向Pod文件夹中添加库文件和资源,并配置podspec文件(后面配置也可以),然后进入Example文件夹执行pod update命令,再打开项目工程可以看到,刚刚添加的组件已经在Pods子工程下Development Pods/PodTestLibrary中了,然后编辑demo工程,测试组件.组件测试无误后开始编辑podspec文件。
- 参照原文编辑podspec文件,并用下面命令验证一下:
$ pod lib lint
- 通过Cocoapods创建出来的目录本身就在本地的Git管理下,我们需要做的就是给它添加远端仓库,同样去GitHub或其他的Git服务提供商那里再创建一个仓库;
$ git add .
$ git commit -s -m "Initial Commit of Library"
$ git remote add origin git@coding.net:wtlucky/podTestLibrary.git #添加远端仓库
$ git push origin master #提交到远端仓库
$ git tag -m "first release" 0.1.0 #podspec文件要用这个tag
$ git push --tags #推送tag到远端仓库
本地测试podspec文件
向Spec Repo提交podspec
$ pod repo push WTSpecs PodTestLibrary.podspec #前面是本地Repo名字 后面是podspec名字
- 完成之后这个组件库就添加到我们的私有Spec Repo中了,可以进入到~/.cocoapods/repos/WTSpecs目录下查看一下;再去我们创建的两个git仓库上看一下有什么变化吧,很明白很多东西,突然恍然大悟。