CocoaPods创建公有pod

创建公有pod就是要创建可以让外界引用的pod

##初级操作

想要创建一个开源pod库, 首先我们需要注册CocoaPods, 这里使用trunk的方式

pod trunk register 邮箱地址 '用户名' --verbose

这里我们一般使用github邮箱和用户名, 然后在你的邮箱中会收到确认邮件, 在浏览器中点击链接确认即注册成功, 成功之后

pod trunk me

查看自己的注册信息, 以后当你有了自己的开源Pod库, 也可以用此方式随时查看自己发布过的Pod

创建pod工程文件

pod lib create pod名

通过Cocoapods创建出来的目录本身就在本地的Git管理下,我们需要做的就是给它添加远端仓库,同样去GitHub或其他的Git服务提供商那里创建一个私有的仓库,拿到远程地址,然后进入到创建的pod目录下:

$ git add .
$ git commit -s -m "Initial commit of library"
$ git remote add origin https://github.com/xiaohuiCoding/pod名.git #添加远端仓库
$ git push origin master #提交到远端仓库

因为podspec文件中获取Git版本控制的项目还需要tag号,所以我们要打上一个tag

$ git tag -m "first release" 0.1.0
$ git push --tags #推送tag到远端仓库

做完这些就可以开始编辑podspec文件了,它是一个Ruby文件,将里面对应的字段换成自己的就行了

编辑完毕后要进行测试,看是否合格

pod lib lint 

验证无误就可以进入下一步了

将pod的podspec提交到CocoaPods

pod trunk push pod名.podspec

成功之后再执行

pod search pod名

如果提示找不到,就执行

rm ~/Library/Caches/CocoaPods/search_index.json

然后再次search

pod search pod名

这个json文件是pod setup成功后生成的, 是用来查找的索引文件,如果搜索失败,就删除再重新搜索,json将会再次生成,不出意外应该就可以搜索成功了

接着,就可以在自己的项目中引用自己创建的私有pod了

source 'https://github.com/CocoaPods/Specs.git'
pod 'pod名'

##进阶操作

####1.删除某个公有库

删除某个pod前先查询自己名下已经发布过的所有公有库相关信息,再搜索下该pod是否存在,进而按版本号针对性的进行删除,该行为不可回退。

pod trunk me #查询
pod search pod名
pod trunk delete pod名 版本号

一般会报黄色警告信息,官方不赞成这种操作,没关系,如果确定要删除就继续执行delete命令,删除完后可查询该pod的信息

pod trunk info pod名
[!] No pod found with the specified name.

再执行search命令

pod search pod名
[!] Unable to find a pod with name, author, summary, or description matching `pod名`

这样就表示已经删除成功了。

如果想连远程的该pod也删除了,可直接在github里删除该仓库。

删除完后可在任意项目的Podfile里添加 pod ‘pod名’,引用下该pod,执行 pod install,如果还能拉取成功,说明pod没更新,那就执行 pod update,接着再次 pod install就拉取失败了,这表示真的删除成功了。

更多pod trunk的用法请参考:这里

欢迎各路技术小伙伴访问我的Github:https://github.com/xiaohuiCoding