对点击查看原文基础上进行细微修改,希望大家能更方便的学会使用。
2015年以前上传到cocoapods的方式相较于现在比较麻烦,现在用不上在此也就不提了。现在上传到cocoapods只需要简单的几步即可。
1
|
$sudo gem install cocoapods
|
1
|
pod trunk
register woxiangni321
@qq
.com
'EmyWong'
--verbose
|
第一个指令是更新一下cocoapods不管你现在是什么版本,这个指令也都没有坏处,他会升级到目前最高的正式版。
第二个指令建议邮箱名和用户名与自己的github同步,
之后去自己的邮箱中找到该邮件点击验证的链接完成注册。
建议用Safari打开避免不必要的麻烦,我用的chrome不能正常跳到终端。
点那个红色的terminal即可~
完成之后再次进入终端查看自己注册信息
1
|
pod trunk me
|
如果成功的话可以看到如下图所示
这是最重要的一步,配置里面的信息必须按照要求填写,否则会各种让你不通过。
这里有两种方案,一是自动生成,二是找一个现成的podspec文件改改。
这里建议第二种,因为第一种自动生成的东西里面会有很多用不到。第二种可以去github上找一些优秀代码把podspec打开看看再修改,以AFNetworking为例,查找到.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.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里的图片取出来当资源文件可以这么写
1
|
s.resources = [
'SXWaveAnimate/*.xib'
,
'SXWaveAnimateDemo/*.xcassets'
]
|
把自己的项目提一次commit到github上。
再打一下tag
1
2
|
git tag
'1.0.0'
git push --tags
|
tag和commit是两个不同的机制,就算commit全被reset了通过tag也可以找回代码。
找到podspec的根目录下,再执行下面的指令
1
|
pod trunk push SXWaveAnimate.podspec
|
这一行代码做了很多之前步骤中的工作。包括检测podspec是否合法,转成json格式传输,上传到trunk服务器,再转到github的cocoapods库。
执行之后通过的话显示是这个样子的
(因为我还没有说得过去的库,所以下面部分就使用原作者的图,这里应该比较简单吧···)
失败的话可能会出现这样
或者是这样
失败的原因基本都是podspec文件里面的格式错误或者路径写错了,这里不要急慢慢来,没人限制你说只给你一次机会。
出现上面成功的情况就是交给cocoapods团队审核了,这个过程是很快的,从几小时到一个两个工作日不等。建议今天成功了明天下午再来看看,用不着一直刷新。
执行搜索操作就能看到自己写的库摆在那里了
如果隔了很久还搜是不到自己的库,建议把仓库更新一下,再搜。
如果感觉自己的pod速度太慢,可以更换淘宝的ruby源,具体操作可见唐巧大神的一片博客:http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/。
只要你为cocoapods提供了代码就能在你github的右边有个cocoaPods/Specs
并且你回头看你的代码,代码所使用的语言占比也会出现Ruby
感谢大神分享,留作后用。以备不时之需。