使用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 - 描述性文字
如果所有的步骤都能成功的话,你会受到一份邮件,需要点击验证下,如图:
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通过验证)
但是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)
错误二、如果遇到如下错误,解决办法请参考这篇文章
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