创建CocoaPods的制作过程

作者: lxb0706 | 来源:发表于2016-02-01 17:41 被阅读4900次

    使用CocoaPods来管理第三方库实在是方便,在学会了使用CocoaPods后,开始尝试创建一个自己的版本依赖库,当然,迟早要走到这一步的.

    创建仓库

    接下来实现一个首页广告循环播放功能,项目名为CLRollingCycleView

    本地仓库

    使用Xcode创建一个CLRollingCycleView项目,项目并添加Classes(核心功能)

    远程仓库

    在github上同样创建一个CLRollingCycleView,最好保持同名,需要注意的是,在创建仓库的时候需要添加license类型,这里我使用license类型为MIT

    关联本地仓库到远程仓库

    进到本地仓库所在的目录

    cd ~/workspace/CLRollingCycleView
    

    关联远程仓库

    git remote add origin git@github.com:chrislian/CLRollingCycleView
    git fetch
    git merge origin/master master
    

    ##****添加****Pods****依赖库所需文件
    依赖库所需的文件格式为{project}.podspec格式,每个Pods依赖库必须有这个描述文件

    添加{project}.podspec文件

    pod spec create CLRollingCycleView
    //Specification created at CLRollingCycleView.podspec
    

    这样就生成了CLRollingCycleView.podspec文件,打开该文件添加内容,并删除不需要的:

    Pod::Spec.new do |s|
    
      s.name         = "CLRollingCycleView"
      s.version      = "0.0.1"
      s.summary      = "循环滚动播放图片"
    
      s.description  = <<-DESC
           循环滚动播放图片,自动播放,手动播放
                       DESC
    
      s.homepage     = "https://github.com/chrislian/CLRollingCycleView"
      s.license      = "MIT"
      s.author       = { "chrislian" => "chris0592@163.com" }
      s.platform     = :ios,'6.0'
    
      s.source       = { :git => "https://github.com/chrislian/CLRollingCycleView.git", :tag => "#{s.version}" }
      s.source_files = "CLRollingCycleView/Classes/*.{h,m}"
      s.framework    = "UIKit"
      s.requires_arc = true
    end
    

    s.source_files指向循环滚动的核心代码放在项目的CLRollingCycleView/Classes*.{h,m}

    提交到github

    至此,需要的文件基本都准备好了,那么现在提交到github上

    pod验证

    pod lib lint
    

    如果有报错,会明确指出哪个地方出错,按提示信息修改

    提交代码到github

    git add .
    git commit -m "version 0.0.1"
    git push origin master
    

    打上标签

    git tag 0.0.1
    git push --tags
    

    不出问题的话,就可以在github上看到最新提交的内容了
    ##****上传****{project}.podspec****到****CocoaPods****官方仓库中
    要想一个CLRollingCycleView真正可以用,就得把生成的CLRollingCycleView.podspec文件提交到Cocoapods官方的Specs仓库中,才能被search到并使用

    按照git的规则,要想向别人的仓库中添加文件,fork一份,添加修改,然后push给作者,等待审核,然而这条路已经被堵死了..

    CocoaPods为我们提供了另外一个更方便安全的方法 trunk

    Trunk的Register

    如果第一次使用的话那么就需要注册了,需要cocoapods 0.33版本以上才支持

    接下来的几个步骤需要自备梯子,否则可能会够不着

    pod trunk register *youremail*@gmail.com '*yourname*' --description='iMac' --verbose
    

    以上命令是注册所需的,替换你的邮箱,用户名,以及描述内容, --verbose可以输入详细的debug

    完成后需要去邮箱验证一下能继续往下操作

    注册成功以后,可以使用

    pod trunk me
    

    查看注册信息,以及发布过得的****Pods****

    提交{project}.podspec

    {project}.podspec文件的路径下执行

    pod trunk push CLRollingCycleView.podspec
    

    这条命令做了如下三件事:

    • 验证本地的podspec文件,也可以使用 pod lib lint验证
    • 上传podspec文件到trunk服务
    • {project}.podspec文件转为{poject}.podspec.json文件

    如果没有报错的话,那么基本就妥了

    使用

    终端执行 pod search CLRollingCycleView就可以找到了,如果没有找到 pod setup再试一下

    -> CLRollingCycleView (0.0.1)
       循环滚动播放图片
       pod 'CLRollingCycleView', '~> 0.0.1'
       - Homepage: https://github.com/chrislian/CLRollingCycleView
       - Source:   https://github.com/chrislian/CLRollingCycleView.git
       - Versions: 0.0.1 [master repo]
    (END)
    

    协同工作

    当需要其他人来共同维护你的代码,需要提供权限,

    pod trunk add-owner CLRollingCycleView chrislian@163.com
    

    参考链接:
    CocoaPods之详情--制作篇
    Publish Your Pods on CocoaPods with Trunk

    相关文章

      网友评论

      • 魈畈:多谢
      • 七夕猪:关联远程仓库第一步就出错,fatal: Not a git repository (or any of the parent directories): .git
        七夕猪:@ChrisLian 是的,谢谢你:smile:
        lxb0706:你的目录没有git初始化
      • WKCaesar:pod trunk push ******.podspec 也提示成功了,pod search 就是找不到,别的库都可以
        df0188473228:我的也是。。。楼上的都解决了吗?
        0200a9609930:我的情况也是这样的,一直search不到,请问有什么解决办法?
        lxb0706:pod setup 再试下。。
      • caobug:好文章!!电信限制50KB/S,气死我了~~ 明日再搞
      • pikacode:你好,想问一下,提交到 pod 官方仓库的版本,可以删除吗?或者覆盖?
        lxb0706:@Pikacode 似乎不行
      • pikacode:按你说的,真的成功了,多年的**终于治好了!!
      • coderTian:自己电脑上pod search可以搜到,别人电脑上就不行了
        lxb0706:@TeaseTian 另一台电脑 pod setup 一下再试试看
      • 嗜糖63:pod trunk register 拼写错误……谢谢啦
        lxb0706:@嗜糖63 细心啊.. thanks

      本文标题:创建CocoaPods的制作过程

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