微信号:DevTipss

介绍:程序猿的技术博客~ IOS ANDROID HTML5干货分享,不仅有技术还有人生~

CocoaPods之~~~创建自己的依赖库

2016-03-26 13:39 sprint

欢迎关注微信个人订阅号:DevTipss


CocoaPods是著名的依赖库管理工具,很多开发者使用CocoaPods分享自己编写的开源代码,如果我们想要将自己的代码共享给别人 可使用CocoaPods进行管理  以下文章以SPRINTNetWorking为例 讲解如何创建自己的依赖库(注:SPRINTNetWorking 仅供本文测试使用)


一   使用github托管自己的项目 SPRINTNetWorking

     CocoaPods必须依赖github,所以我们需要在github创建自己的项目


    

    

    Repository name:仓库名称

    Description : 项目描述

    Initialize this repository with a README:是否生成README文件

    Add .gitignore: 是否添加.gitignore文件  .gitignore可以添加忽略的文件

    license:许可证   该选项强烈要求填上 包含了版权声明和许可声明 其他开发者可以使用你的开源项目做任何事情 而你不必承担责任 


点击Create按钮  出现如下界面





二 Clone项目到本地 添加cocopods配置信息


    $ git clone https://github.com/guanghuili/SPRINTNetWorking.git

也可以使用GitHub Desktop桌面客户端 使用方式为:




Clone完成后 SPRINTNetWorking目录下会生成两个文件

  1,LICENSE 

  2,README.md




三 在本地SPRINTNetWorking仓库中添加Pods依赖文件

   1. 后缀为.podspec文件


          Pod::Spec.new do |s|

          s.name             = "SPRINTNetWorking"

          s.version          = "1.0.0"

          s.summary          = "CocoaPods之~~~创建自己的依赖库"

          s.description      = <<-DESC

                       CocoaPods之~~~创建自己的依赖库

                       DESC

          s.homepage         = "https://github.com/guanghuili/SPRINTNetWorking"

          # s.screenshots      = "www.example.com/screenshots_1",                     "www.example.com/screenshots_2"

          s.license          = 'MIT'

          s.author           = { "sprint" => "liguanghui_job@163.com" }

          s.source           = { :git => "https://github.com/guanghuili/SPRINTNetWorking.git", :tag => s.version.to_s }

          # s.social_media_url = 'https://twitter.com/sprint1990'


          s.platform     = :ios, '4.3'

          # s.ios.deployment_target = '5.0'

          # s.osx.deployment_target = '10.7'

          s.requires_arc = true


          s.source_files = 'SPRINTNetWorking/*'

          # s.resources = 'Assets'


          # s.ios.exclude_files = 'Classes/osx'

          # s.osx.exclude_files = 'Classes/ios'

          # s.public_header_files = 'Classes/**/*.h'

          s.frameworks = 'Foundation', 'CoreGraphics', 'UIKit'


          end

  

  文件中的参数一看大家都能理解,在这里不一一阐述

  重点看下面几个字段:

    s.name:依赖库名称 pod serarch通过该名称可搜到

    s.source:依赖库github源码地址

    s.social_media_url:作者社交账号地址

    s.frameworks:依赖库使用到的frameworks


除了手动创建外 还可以使用如下命令创建.podspece文件


      $ pod spec create SPRINTNetWorking


 



命令生成的文件很多参数使用不到~~~



2.添加开源代码 


   把我们写好的开源代码放入





3.修改的文件提交到github

    3.1、pod验证 添加版本号和tag

       

      $ set the new version to 1.0.0

      $ set the new tag to 1.0.0


  3.2 pod lib lint  执行改命令后如果验证通过 会输出如下信息

      

      

     -> SPRINTNetWorking (1.0.0)


      SPRINTNetWorking passed validation.


 如果一切正常 我们就可以将本地修改的文件提交到github 

命令和Github Desktop方式都可以 不再讲解 提交完成后github仓库状态如下:





四. 上传podspec到cocopods

  至此我们的需要开源的代码都已准备好  接下来我们需要将我们的代码交由cocopods管理

  1.前往[https://github.com/CocoaPods/Specs](https://github.com/CocoaPods/Specs) fork 该项目



2. 将 fork 的 Specs 项目clone到本地

   fork后前往你的github首页 找到fork的Specs仓库 并将Specs clone到本地




3. 在Specs中添加 SPRINTNetWorking.podspec文件


   clone完成后在Specs目录中依次添加

  SPRINTNetWorking -> 1.0.0 -> SPRINTNetWorking.podspec




在这里你是不是已经明白了我们使用pod search的pods项目 都是通过Specs管理的~~  1.0.0就是版本号哦~~ 以后你可以再添加其他版本的~



4. 上传本地仓库Specs 的修改


5. 将自己fork的Specs  提交到cocopods官方的Specs




提交后官方需要审核1-2天的时间 审核状态会通过邮箱发送给你


审核完成后使用pod search你是无法搜到的 需要使用pod setup  然后再执行pod search



至此创建自己的pods项目讲解完毕~~~


 
DevTips 更多文章 WEB开发资源整理 使用 NodeJS+Express 开发服务端 使用 NodeJS+Express+MySQL 实现简单的增删改查 iOS10 新增privacy-settings iOS逆向工程工具集
猜您喜欢 java架构师之路:推荐的15本书 自己制作迷宫小游戏,自己玩自己做的游戏! AndroidShareGroup技术周报(第一期) 如何高效地学好 R? 如何用数据驱动产品和运营(内有分享群)