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

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

1.注册trunk

pod trunk register [email protected]  'Cuixx' --description='Cuixx' macbook pro' --verbose

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

发布自己的开源项目到CocoaPods trunk_第1张图片
屏幕快照 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 [email protected]

进入项目级步骤

创建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' => '[email protected]' }
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通过验证)


发布自己的开源项目到CocoaPods trunk_第2张图片
屏幕快照 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)

发布自己的开源项目到CocoaPods trunk_第3张图片
屏幕快照 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

你可能感兴趣的:(发布自己的开源项目到CocoaPods trunk)