美文网首页
发布自己的开源项目到CocoaPods trunk

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

作者: 北京的天空 | 来源:发表于2017-08-10 15:14 被阅读0次

    使用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

    相关文章

      网友评论

          本文标题:发布自己的开源项目到CocoaPods trunk

          本文链接:https://www.haomeiwen.com/subject/yjehrxtx.html