发布自己的开源项目到CocoaPods trunk

使用CocoaPods trunk之前请确认CocoaPods版本是否是0.33或以上,打开Teaminal(终端)输入pod --version即可查看,如果版本过低,请执行sudo gem install cocoapods安装最新版本!

1.注册trunk

pod trunk register xxx@cocoapods.org  'Cuixx' --description='Cuixx' macbook pro' --verbose

xxx@cocoapods.org :一个有效真邮箱,不一定非得是@cocopods.org,例如QQ等。
Cuixx - 用户名
Cuixx's macbook pro - 描述性文字
如果所有的步骤都能成功的话,你会受到一份邮件,需要点击验证下,如图:

屏幕快照 2017-08-10 下午2.41.10.png

2.查看trunk

pod trunk me

可以查看你已经注册的信息,其中包含你的name、email、since、Pods、sessions,其中Pods为你往CocoaPods提交的所有的Pod!

3.添加其他维护者(如果你的pod是由多人维护的,你也可以添加其他维护者)

pod trunk add-owner HBScrollPageView Cuixx@cocoapods.org

进入项目级步骤

创建podspec

pod spec create HBScrollPageView

执行完该命令之后会在工程目录生成HBScrollPageView.podspec文件,然后编辑这个文件!(注意最好用vim终端编辑,否则容易出现各种错误(大部分是中英文错误),最终导致文件验证不过)

Pod::Spec.new do |s|
s.name         = 'HBScrollPageView'
s.summary      = 'HBScrollPageView with  pageViewController.'
s.version      = '0.0.1'
s.license      = { :type => 'MIT', :file => 'LICENSE' }
s.authors      = { 'MrCuihongbao' => '675282505@qq.com' }
s.social_media_url = 'https://mrcuihongbao.github.io'
s.homepage     = 'https://github.com/MrCuiHongbao/HBScrollPageView'
s.platform     = :ios, '7.0'
s.ios.deployment_target = '7.0'
s.source       = { :git => 'https://github.com/MrCuiHongbao/HBScrollPageView.git', :tag => s.version }

s.requires_arc = true
s.source_files = 'HBScrollPageView/**/*.{h,m}'
s.public_header_files = 'HBScrollPageView/**/*.{h}'

s.frameworks = 'UIKit'
end

其中:
s.name:库的名称
s.summary:对我们库的一个简单的介绍
s.version:库原代码版本号
s.license:所采用的授权版本
s.authors:库的作者
s.social_media_url:社交媒体网址
s.homepage:声明库的主页
s.platform:库所支持的软件平台和版本
s.ios.deployment_target = '7.0' 库所支持的软件目标文件版本
s.source:声明原代码的地址
s.requires_arc :是否支持ARC
s.source_files:源码文件
s.public_header_files:公共的头文件
s.frameworks:所需的frameworks
s.libraries = "iconv", "xml2" :所需的lib
s.dependency "JSONKit", "~> 1.4":依赖的第三方开源

提交code到git仓库中,并打上tag版本号

这一步可使用git命名行也可使用工具,最重要的是tag,因为CocoaPods是根据tag来分析的!
终端命令为:

git tag 0.0.1

提交到CocoaPods trunk

终端命令

pod trunk push

即可完成提交,改命令会首先验证你本地的podspec文件,之后会上传spec文件到trunk,最后会将你上传的podpec文件转换为需要的json文件。

提示:
1.验证podspec也可手动执行命令pod spec lint HBScrollPageView.podspec

错误 一(语法错误都已解决最后出现如下错误)

    - ERROR | [iOS] unknown: Encountered an unknown error (Pod::DSLError) during validation.

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 1 error.

通过执行 pod lib lint HBScrollPageView.podspec变为如下图所示(绿色部分即为lib通过验证)


屏幕快照 2017-08-10 下午3.09.42.png

但是pod spec lint HBScrollPageView.podspec仍然不能通过验证,仍然报错如下:

   - ERROR | [iOS] unknown: Encountered an unknown error ([!]       

/usr/bin/git clone   https://github.com/MrCuiHongbao/HBScrollPageView.git   

/var/folders/pc/16n7gx091gjbk6css0bx_yh00000gn/T/d20170810-61232-2wjgvr --template= --single-branch --depth 1 --  branch 0.0.1

Cloning into '/var/folders/pc/16n7gx091gjbk6css0bx_yh00000gn/T/d20170810-61232-2wjgvr'...

 warning: Could not find remote branch 0.0.1 to clone.
fatal: Remote branch 0.0.1 not found in upstream origin) during validation.
Analyzed 1 podspec.
[!] The spec did not pass validation, due to 1 error.

原因是远程仓库中的tag release版本与本地提交的版本不一致导致,修改后如下验证ok(绿色字体显示ok)

屏幕快照 2017-08-10 下午3.09.42.png

错误二、如果遇到如下错误,解决办法请参考这篇文章

Encountered an unknown error (Simulator iPhone 4s is not available.) during validation. 

2.提交成功之后以前需要花些时间去验证(猜测可能是跑build等),貌似现在稍等1分钟就可以。

简单的封装欢迎使用

 pod 'HBScrollPageView', '~> 0.0.1'

参考链接:http://www.jianshu.com/p/0866dd4126b4
http://www.jianshu.com/p/4e92a6154c80
http://www.cocoachina.com/ios/20160301/15459.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容