如何建立自己的CocoaPods库
CocoaPods简介
CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。它的官网https://cocoapods.org/。 我们只需要在podfile文件中将库配置好,然后在terminal中运行pod update即可。pod的基本使用方法请自行百度。这篇文章主要介绍pod比较高阶的使用:自己创建pods库。(这里我介绍的是把自己的pod放在公有的specs上)
前言
建立pod库有两种方式,一种是通过
pod lib create LZNetworking
直接创建一个库出来,他会问你一些问题,比如:oc还是swift,是否需要含有一个demo,你可以根据自己的需要去填写,填写完以后,就会出来一个空项目。他会包含一个specs文件,这个文件的源路径就是Pod 中的Classes。然后你要做的就是把你的代码放到Pod 中的Classes里面。
这篇文章我主要说第二种方式,就是你已经有现成的代码了,需要把其中封装好的库提交上去。
创建pods库的准备工作
-
首先你需要将你的代码提交到github上(放在coding或者给oschina上也是可以的,记得放开权限)
-
建立自己的specs文件
打开terminal,然后cd到你们工程下,和podfile平级,创建:
pod spec create LZNetworking https://github.com/cvby/LZNetworking.git
创建完以后,可以打开看一下,里面已经写好了一些默认的配置,还有一些配置打了注释。你可以根据自己需要去修改,把不必要的删除。值得注意的事,如果你的库需要依赖某个库,请务必写上,如
s.dependency 'AFNetworking', '~> 3.0'
- 给工程打tag
建立完以后,我们把整体提交一下,然后我们就要给工程打上tag了。
git tag -m"first release""1.0.0"
git push --tag #推送tag到远端仓库
- 然后对库进行验证
pod lib lint
如果没有通过,这里会报出一些erro或者是warning,看着改一下。但是改完以后一定要提交到自己的仓库里,而且必须重新打个tag,同时你的specs文件中的tag指向也要去修改,这里是个坑。
上传
前面这么多准备工作做完以后,就可以开始上传了。我们需要做的是把自己的specs文件提交上去,之前网上搜到的做法是把官方的库fork下来,提交以后,再pull request。结果立马就被拒绝了,提示要用trunk服务。
- 创建trunk账号
pod trunk register example@163.com 'name'--verbose
- 然后自己看一下信息
pod trunk me
- 上传
pod trunk push
上传成功以后自己pod search一下,就能看到了!
参考
感谢下面两位作者的文章
http://www.cocoachina.com/ios/20150228/11206.html
http://www.cnblogs.com/wengzilin/p/4742530.html