美文网首页
CocoaPods私有库配置笔记

CocoaPods私有库配置笔记

作者: zyl04401 | 来源:发表于2016-04-12 18:39 被阅读231次

    CocoaPods是一个iOS,Mac OS下强大的依赖包工具,不仅用来管理第三方开源代码的项目代码,您也可以通过配置公共组件的私有pods库,来管理整个项目中的公共组件。通过下面几个步骤,您可以为项目创建私有pods库

    1. 创建私有Spec仓库

    为了管理您的私有pods库,建议创建一个自己的Spec仓库。这个Spec仓库包含了所有将要访问到的pods库。您不需要从CocoaPods/Specs检出分支,只需要保证团队里所有人都有这个Spec仓库(不公开的)的访问权限。
    (通常CocoaPods使用中都会包含公开的和私有库,因此Spec仓库也可以直接使用默认公开库的路径地址)

    2. 添加私有Spec仓库到CocoaPods默认的路径

    pod repo add <REPO_NAME> <SOURCE_URL>
    

    注意:如果打算创建本地的pods仓库,您还需要推送至<SOURCE_URL>源地址
    检测您的Spec仓库是否创建成功:

    cd ~/.cocoapods/repos/<REPO_NAME> // 不同版本的CocoaPods,路径可能不一样
    pod repo lint .
    

    3. 添加私有Spec仓库的Podspec配置文件

    确保您的源代码已经打好版本tag,然后执行

    pod repo push <REPO_NAME> <SPEC_NAME>.podspec
    

    这将会执行pod spec lint,注意过程中的细节,Spec仓库目录格式应该是

    .
    ├── Specs
        └── [SPEC_NAME]
            └── [VERSION]
                └── [SPEC_NAME].podspec
    
    至此,您的私有pods仓库已经可以通过Podfile文件使用了,还需要在在Podfile中指定私有库的源地址,如下:
    source '<URL_TO_REPOSITORY>'
    

    举个例子

    1. 创建私有代码仓库

    创建一个代码仓库,可以托管在Github,或您自己的git服务器

    $ cd ~/Desktop
    $ mkdir EGKit.git
    $ cd EGKit.git
    $ git init --bare
    

    (The rest of this example uses the repo at https://github.com/zhangyinglong/EGKit.git)

    2. 添加本地私有库的CocoaPods安装源

    使用你的代码仓库地址,作为CocoaPods安装源

    $ pod repo add EGKit https://github.com/zhangyinglong/EGKit.git
    

    进入本地CocoaPods安装源路径(CocoaPods版本不同路径可能也不同),检查是否安装成功

    $ cd ~/.cocoapods/repos/EGKit
    $ pod repo lint .
    

    3. 为私有库添加Podspec配置文件

    创建Podspec配置文件

    cd ~/Desktop
    touch EGKit.podspec
    

    编辑配置文件内容 EGKit.podspec

    #
    # Be sure to run `pod lib lint EGKit.podspec' to ensure this is a
    # valid spec before submitting.
    #
    # Any lines starting with a # are optional, but their use is encouraged
    # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
    #
    
    Pod::Spec.new do |s|
      s.name             = "EGKit"
      s.version          = "0.1.0"
      s.summary          = "A demo of EGKit."
    
    # This description is used to generate tags and improve search results.
    #   * Think: What does it do? Why did you write it? What is the focus?
    #   * Try to keep it short, snappy and to the point.
    #   * Write the description between the DESC delimiters below.
    #   * Finally, don't worry about the indent, CocoaPods strips it!  
      s.description      = <<-DESC
                            A test demo of EGKit.
                           DESC
    
      s.homepage         = "https://github.com/zhangyinglong/EGKit"
      # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
      s.license          = 'MIT'
      s.author           = { "zhangyinglong" => "zyl04401@gmail.com" }
      s.source           = { :git => "https://github.com/zhangyinglong/EGKit.git", :tag => s.version.to_s }
      # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
    
      s.platform     = :ios, '7.0'
      s.requires_arc = true
    
      s.source_files = 'Pod/Classes/**/*'
      #s.resource_bundles = {
      #  'EGKit' => ['Pod/Assets/*.png']
      #}
    
      # s.public_header_files = 'Pod/Classes/**/*.h'
      # s.frameworks = 'UIKit', 'MapKit'
      # s.dependency 'AFNetworking', '~> 2.3'
    end
    

    保存EGKit.podspec 配置文件,并添加到本地pods库中

    pod repo push EGKit ~/Desktop/EGKit.podspec
    

    假如您的Podspec配置成功,它将会自动添加到本地pods库中,目录结构如下:

    .
    ├── Specs
        └── EGKit
            └── 0.1.0
                └── EGKit.podspec
    

    4. 如何删除私有库

    pod repo remove EGKit
    

    参考文献:http://guides.cocoapods.org/making/private-cocoapods.html

    相关文章

      网友评论

          本文标题:CocoaPods私有库配置笔记

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