很早很早以前写过一篇提交自己的Pods到CocoaPods的文章,那会还在傻B的使用163博客总结技术知识点,几年过去了早已不符合潮流了,昨天正好有时间就总结了现今的方案!(顺带提一句简书的Markdown写知识总结文档太爽了)
废话不多说,切入正题...
使用CocoaPods trunk之前请确认CocoaPods版本是否是0.33或以上,打开Teaminal(终端
)输入pod --version
即可查看,如果版本过低,请执行sudo gem install cocoapods
安装最新版本!
- 注册trunk
pod trunk register xxx@cocoapods.org 'huangxx' --description='huangxx' macbook pro' --verbose
xxx@cocoapods.org - 一个真实存在的邮箱,不一定非得是@cocopods.org,例如QQ。
huangxx - 用户名
huangxx's macbook pro - 描述性文字
如果所有的步骤都能成功的话,你会受到一份邮件,需要点击验证下。
-
查看trunk
pod trunk me
可以查看你已经注册的信息,其中包含你的name、email、since、Pods、sessions,其中Pods为你往CocoaPods提交的所有的Pod! -
添加其他维护者(如果你的pod是由多人维护的,你也可以添加其他维护者)
pod trunk add-owner XPRACSignal wangxx@cocoapods.org
以上所有的步骤都是准备阶段……
Paste_Image.png进入项目级步骤
- 创建podspec
pod spec create XPRACSignal
执行完该命令之后会在工程目录生成XPRACSignal.podspec文件,然后编辑这个文件!里面注释很多,应该都能看懂,就不一一讲解了。这里就贴一张图了,该文件去掉了很多注释信息,以免干扰!
-
提交code到git仓库中,并打上tag版本号
这一步可使用git命名行也可使用工具,最重要的是tag
,因为CocoaPods是根据tag
来分析的! -
提交到CocoaPods trunk
执行命令pod trunk push
即可完成提交,改命令会首先验证你本地的podspec文件,之后会上传spec文件到trunk
,最后会将你上传的podpec文件转换为需要的json文件。
提示:
1.验证podspec也可手动执行命令pod spec lint XPRACSignal.podspec
2.提交成功之后以前需要花些时间去验证(猜测可能是跑build等),貌似现在稍等1分钟就可以。 -
测试pod
执行命令pod search XPRACSignal
补充
如果你之前提交过Pod,那么trunk之后你需要去Claim your Pod认领下!
执行完上面所有的步骤,你的旅程就愉快的结束了!
Paste_Image.png
网友评论
Updating spec repo `master`
Performing a deep fetch of the `master` specs repo to improve future performance
然后进入漫长的等待。。。。
最终
/usr/bin/git -C /Users/guomingyue/.cocoapods/repos/master fetch --unshallow
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
有什么办法吗?
$ pod trunk add-owner --help
Usage:
$ pod trunk add-owner POD OWNER-EMAIL
Adds the registered user with specified `OWNER-EMAIL` as an owner of the
given `POD`. An ‘owner’ is a registered user whom is allowed to make
changes to a pod, such as pushing new versions and adding and removing
other ‘owners’.
Options:
--silent Show nothing
--verbose Show more debugging information
--no-ansi Show output without ANSI codes
--help Show help banner of specified command