利用pod trunk发布程序
原先有说过CocoaPods的集成使用方法,对于pods集成以及管理三方框架确实有很多便捷之处,在这里好处就不多说了。好处很多那是不是也想让自己的项目让别人pod的冲动了。多余的话不用多讲,直接上主题了。
1.注册
$:pod trunk register 邮箱 '用户名' --description='电脑描述'
2.查收邮件
- 其他邮箱直接进入点击链接
- 如果是QQ邮箱,可能会被放到“垃圾箱”中,并不一定是“收件箱”
- 点击邮件中的链接:
https://trunk.cocoapods.org/sessions/verify/xxxx - 点击邮件的链接就完成了trunk注册流程。
3.完成注册后便可以查看个人信息
结果显示为:
- Name: 你刚刚输入的用户名 - Email: xxxxxx@example.com - Since: March 28th, 03:28 - Pods: None - Sessions: - March 28th, 03:28 - June 5th, 03:08. IP: xxx.xxx.xxx.xxx Description: Macbook Pro
NoMethodError - undefined method 'last' for #<Netrc::Entry:0x007fc59c246378>
- 这时候需要尝试更新gem源或者pod
$:sudo gem update --system
$:sudo gem install cocoapods
$:sudo gem install cocospods-trunk
4.创建podspec文件
- 为你的项目代码添加podspec描述文件描述你的项目信息
- 将podspec文件通过trunk推送给CocoaPods服务器
- 注意:以下描述的文件都要放在clone到本地的git仓库的根目录下面。
4.1 如何创建podspec文件
创建自己的podspec文件可以有两个途径:
①copy成熟的开源库的podspec文件修改对应的参数这种方式。
②执行以下创建命令:
* $:pod spec cretae 文件名
比如pod spec cretae DJStatusBarHUD就会生成一个DJStatusBarHUD.podspec
&建议直接拿一些成熟的开源库的podspec改就行,生成的模板里有很多冗余的属性。
填写podspec内容
$:Pod::Spec.new do |s| s.name = "DJStatusBarHUD" s.version = "0.0.1" s.summary = "The easily and conveniently use of statusBar" s.homepage = "https://github.com/djliu328/DJStatusBarHUD" s.license = "MIT" s.author = { "dj_liu" => "xxxxx@example.com" } s.source = {:git => 'https://github.com/djliu328/DJStatusBarHUD.git', :tag => s.version} s.source_files = 'DJStatusBarHUD/**/*.{h,m}' s.resource = 'DJStatusBarHUD/DJStatusBarHUD.bundle' s.requires_arc = trueend
- 需要提醒的是,现在的podspec必须有tag,所以最好先打个tag,传到github
$:git tag 0.0.1
$:git push --tags
&只有确保了以上两点,CocoaPods才能更准确地找到你的repo。
5.检测podspec语法(验证你的podspec文件是否合法用下面指令)
$:pod spec lint MJExtension.podspec
6.发布podspec
终于可以到下面的一步了,那就是发布通过trunk上传你的podspec文件。先cd到podspec文件所在目录,然后:
* $:pod trunk push MJExtension.podspec
* 如果是第一次发布pod,需要去https://trunk.cocoapods.org/claims/new认领pod(感觉也可以不用,当时也没怎么用到,自己选择吧)
7.检测
有些时候你发布完成后pod search发现什么也没有,这并不一定表示你的项目没有上传成功,有可能会有延时。可以进行下面的操作进行尝试:
* $:pod setup
: 初始化
* $:pod repo update
: 更新仓库
* $:pod search DJStatusBarHUD
8.仓库更新
- 如果仓库更新慢,可以考虑更换仓库镜像
$:pod repo remove master
$:pod repo add master http://git.oschina.net/akuandev/Specs.git
原标题:利用pod trunk发布程序,让你的项目可以被pod search
关键词: