美文网首页
iOS上传自己的开源框架到Cocoapods

iOS上传自己的开源框架到Cocoapods

作者: Fxxxxxxx | 来源:发表于2017-12-04 11:50 被阅读15次

    前言

    Cocoapods可以说是我们iOS开发用到的最多的一个工具了,很多开源的框架、第三方,都可以通过一句pod install加载到我们的工程中,超级方便,尤其是在Swift和OC的混合开发中,完全可以不用去管这些框架的语言,都是以静态库的形式倒入,最多建个桥联文件就可以使用,可以说是so easy~而且可以方便管理这些第三方的版本,依赖,节省很多开发时间。说了这么多Cocoapods的好处,我们也试着来把自己写的开源库上传到Cocoapods,方便大家使用。

    上传Git

    这里我用一个我写的叫做FXDropDownMenu的工程为例,首先我们要把这个工程上传到Git,这里我使用的是Github,当然其他的Git也是可以的,例如国内的开源中国的码云(我经常使用),工具是Sourcetree:

    Sourcetree
    编辑好一个完整的版本,上传之后,记得上传一个Tag给上传的版本,这里我们设置tag为1.0
    image.png
    image.png
    标签推送成功之后,可以在我们的分支顶上的版本里看到标签
    image.png

    创建Podspec描述文件

    在我们本地Git下的工程里,进入工程根目录,使用pod spec create FXDropDownMenu命令,这里的名称写自己的框架的名称

    image.png
    命令窗绿字提示成功,就可以在我们刚才的目录里看到一个后缀名为.podspec的文件,用文本编辑器打开编辑,我使用Xcode打开的,万能的Xcode,这个文件里的备注写的很清晰,告诉我们怎么填写,这里我列一些重要的出来:
      s.name         = "FXDropDownMenu"
      s.version      = "1.0"
      s.summary      = "简单好用的下拉点击菜单"
      s.description  = <<-DESC
                    "简单好用的下拉点击菜单"
                       DESC
      s.homepage     = "https://github.com/Fxxxxxx/FXDropDownMenu"
      s.screenshots  = "https://img.haomeiwen.com/i3569202/7a9113c911097f20.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"
      s.license      = { :type => "MIT", :file => "LICENSE" }
      s.author             = { "Fxxx" => "e2shao1993@163.com" }
      s.social_media_url   = "http://www.jianshu.com/u/3ca8f0368b98"
      s.platform     = :ios
      s.source       = { :git => "https://github.com/Fxxxxxx/FXDropDownMenu.git", :tag => "1.0" }
      s.source_files  = "FXDropDownMenu", "FXDropDownMenu/*.{h,m}"
      s.resources = "FXDropDownMenu/FXDropDownMenu.bundle/*.png"
      s.framework  = "UIKit"
      # s.dependency "JSONKit", "~> 1.4"
    

    按照自己的信息填写:

    • homepage是这个工程Git的主页;
    • description框架描述
    • screenshots是截屏的效果展示(选填),填一个线上的图片地址就好;
    • social_media_url是作者的社交账户地址(选填);
    • s.platform = :ios, "7.0"是你项目类别,可以在之后填上你的框架需要的系统最低版本号;
    • license是你在创建这个Git的时候勾选生成的,一般Git使用MIT,如果建Git目录的时候忘记生成了,从其他项目复制一个过来也可以,放在根目录;
    • source这个比较重要,是你的源地址。Cocoapods会从这个地址拉取你的项目,这里要填上我们刚才推送的版本号
    • source_files这个很重要,不能填错,是你的框架的代码文件FXDropDownMenu/**/*.{h,m},因为我这里是直接放在Git工程的根目录下的,*.{h,m}是指要编译的文件格式
      image.png
      image.png
    • resources如果你有资源文件,例如图片什么的,路径写在这里
    • framework你需要的系统静态库
    • dependency你的框架需要使用的其他第三方,没有就注释掉

    验证podspec文件

    信息填好保存之后,我们需要通过Cocoapods的验证,进入podspec所在的目录,执行

    pod spec lint FXDropDownMenu.podspec
    
    image.png

    我这里没有通过验证,两个错误,一个警告,阅读一下就知道问题所在了,我们的description为空,在文件中找到这个地方,补充上,之后记住这个必填,我上面的列表里是更正过的,这里只是告诉大家怎么处理验证不通过


    image.png

    改完之后,我们重新提交验证,这次绿字顺利通过


    image.png

    Trunk发布自己的Pods

    1. 注册Trunk,如果你的电脑已经注册,绕过这一步

    pod trunk register email 'name'
    

    这里email填自己的邮箱,name填自己的称呼,提交之后,系统会发一份邮件到这个邮箱验证

    register
    image.png
    去这个链接验证就好了,验证成功
    image.png
    注册完成,我们pod trunk me就可以看到我们的信息了
    image.png

    2. Trunk Push把我们的框架提交到Cocoapods

    做到这一步就很简单了,命令行pod trunk push,回车提交,等待ing

    image.png
    等待完成之后,大功告成啦,之后就可以像其他第三方那样,直接使用Cocoapods倒入了,是不是很方便😊

    PS:关于更新自己的pods版本,重新填写podspec,填写新的版本号和新版本的git tag,像上述步骤一样提交就好了

    欢迎更正错误和交流,回复评论和私信皆可

    相关文章

      网友评论

          本文标题:iOS上传自己的开源框架到Cocoapods

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