2.注册trunk
$sudo gem install cocoapods
pod trunk register dantesx2012@gmail.com 'dsxniubility' --verbose
第一个指令是更新一下cocoapods不管你现在是什么版本,这个指令也都没有坏处,他会升级到目前最高的正式版。
第二个指令建议邮箱名和用户名与自己的github同步,之后去自己的邮箱中找到该邮件点击验证的链接完成注册。
如果你不是在董铂然博客园看到本文,请点击查看原文。
完成之后再次进入终端查看自己注册信息
pod trunk me
如果成功的话可以看到如下图所示
3.配置自己的podspec文件
这是最重要的一步,配置里面的信息必须按照要求填写,否则会各种让你不通过。
这里有两种方案,一是自动生成,二是找一个现成的podspec文件改改。
这里建议第二种,因为第穗芹一种自动生猜答毕成的东西里面会有很多用不到。第二种可以去github上找一些优秀代码把podspec打开看看再修改,这里我直接把我的贴出来了,免得去找了。建议使用sublime打开或vim修改,因为用普通的txt打开的话会出现诸如中英文单引号等一些列问题十分蛋疼。
Pod::Spec.new do |s|
s.name = 'SXWaveAnimate'
s.version = '1.3.6'
s.license = 'MIT'
s.summary = 'An Animate Water view on iOS.'
s.homepage = 'https://github.com/dsxNiubility/SXWaveAnimate'
s.authors = { '董尚先' =>'dantesx2012@gmail.com' }
s.source = { :git =>'https://github.com/dsxNiubility/SXWaveAnimate.git', :tag =>s.version.to_s }
s.requires_arc = true
s.ios.deployment_target = '8.0'
s.source_files = 'SXWaveAnimate/*.{h,m}'
s.resources = 'SXWaveAnimate/images/*.{png,xib}'
end
这里的每一行感觉都是顾名思义很容易理解,需要注意的是最下方的source_files 和 resources
一定要分清,需要编译器编译的放在前者,资源文件放在后者。我之前坑了一次,把xib放在前者了,后面的步骤一路畅通,但是到最后pod
install自己代码下来就会遇到编译不通过的问题。
如果你需要直接把自己demo程序中Images.xcassets里的图片取出来当资源文件可以这么写
s.resources = ['SXWaveAnimate/*.xib', 'SXWaveAnimateDemo/*.xcassets']
4.上传代码
把自己的项目提一次commit到github上。
再打一下tag
git tag '1.0.0'
git push --tags
tag和commit是两个不同的机制,就算commit全被reset了通过tag也可以找回代码。
5.提交自己的podspec文件
找到podspec的根目录下,再执行下面的指令
pod trunk push SXWaveAnimate.podspec
这一行代码做了很多之前步骤中的工作。包括检测podspec是否合法,转成json格式传输,上传到trunk服务器,再转到github的cocoapods库。
执行之后通过的话显示是这个样子的
失败的话可能会出现这样
或者是这样
失败的原因基本都是podspec文件里面的格式错误或者路径写错了,这里不举宏要急慢慢来,没人限制你说只给你一次机会。
出现上面成功的情况就是交给cocoapods团队审核了,这个过程是很快的,从几小时到一个两个工作日不等。建议今天成功了明天下午再来看看,用不着一直刷新。
6.随便看看
执行搜索 *** 作就能看到自己写的库摆在那里了
如果隔了很久还搜是不到自己的库,建议把仓库更新一下,再搜。
如果感觉自己的pod速度太慢,可以更换淘宝的ruby源,
只要你为cocoapods提供了代码就能在你github的右边有个cocoaPods/Specs
并且你回头看你的代码,代码所使用的语言占比也会出现Ruby
我传的库是一个关于灌水动画的,有兴许的可以去看看或者pod install一下。
SXWaveAnimate
7.更新库
更新基本没有什么特殊 *** 作,重复第4,5两步,记得把podspec和tag 都加1点,如果tag不变也是不允许的。
更新库的话速度很快,我记得当时好像10分钟就能刷出来了,如果你发现你pod search 时自己是1.3.6版本 但是pod
install后仍是1.3.5版本,并且在podfile文件中你也并没有指定固定的版本号,那就把podfile.lock删除就好了。
先把版本库checkout出来,把你要上传的文指尘档放到相应的文件夹中唯迅禅,然后执行add *** 作,然后执行commit *** 作 详昌卖细 *** 作可参见我的百度文库,其中有篇在Windows环境下使用SVN的PPT创建自己项目的Podspec描述文件下面我会通过一个名为HUPhotoBrowser的项目来讲解一下整个过程。
项目发布到github后,需要打上tag。之后我们在工程根目录中初始化一个Podspec文件:
pod spec create HUPhotoBrowser
该命令将在本目录产生一个名为HUPhotoBrowser.podspec文件。用编辑器首简打开该文件,里面已经有非常丰富的说明文档。下面介绍如何声明第三方库的代码目录和资源目录,还有该第三方库所依赖ios核心框架和第三方库。这是我的podspec文件:
编辑好podspec文件后就可以将该podspec文件保存到本机的~/.cocoapods/repos/master/大芹逗Specs目录中仅供自己使用,也可以将其提交到CocoaPods/Specs代码库中。下面我们先将其保存到本机中:
下面可以看一下是否可以通过搜索找到该库:
同样在需要依赖于HUPhotoBrowser这个库的项目,可以将下列添加到项目的Podfile文件中
pod 'HUPhotoBrowser', '~0.0.2'
保存文件,并用pod install安装HUPhotoBrowser库。
通过以上步骤创建Pod库还只能供自己使用,下面会继续讲解如何将其提交到CocoaPods/Specs代码库中,让其他人也可以通过pod install安装我们的开源库。
CocoaPods Trunk发布自己的Pods
在cocoapods使用了trunk之后,CocoaPods 需要0.33以上版本,用 pod --version查看版本滚卖,如果版本低,需要更新。
注册Trunk
$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
大家在注册时需要替换成自己的邮箱和用户名,一切顺利的话就会受到一份邮件,点击邮件中的链接后验证一下:
pod trunk me
至此我们整个制作自己的开源库的过程就完成了,以后有新版本只需要修改工程根目录下的podspec文件就行了,然后重新执行pod trunk push命令。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)