美文网首页
iOS CocoaPods私有库

iOS CocoaPods私有库

作者: 一钱科技 | 来源:发表于2019-08-27 14:43 被阅读0次

      在网上众多技术文章基本千篇一律。多是简单copy,每次打开不同标题,结果内容大同小异,让人很无奈。
      无效搜索和情感磨灭,有时候真让人发狂。

      本文简单介绍私有化的创建步骤及相关原理。知其然知其所以然。
      pod主要涉及到两个概念:版本库和代码库

    版本库创建
    • 在git创建远程版本库项目
    • 将远程版本库添加到本地
    $ pod repo add 本地仓库名称 git仓库地址
    

      完成后,可在~/.cocoapods/repos目录查看

    代码库pod

      在网上多为命令行(如下所示)创建工程,生成包含Example项目。其实完全没有必要,主要原因是工程结构复杂,不易理解和整理。

    $ pod lib create 工程名
    

      如果要使工程作为pod库存在,只需要git根目录添加podspec和LICENSE两个文件即可。
    根本原因是pod加载库是根据podspec索引文件定位查找。所以podspec文件的位置和形式不是必需品。

    • 在git代码仓库根目录命令行创建或者拷贝其他项目podspec、LICENSE
    $ pod spec create MyAdditions
    

    模版:

    Pod::Spec.new do |s|
      s.name         = "项目名称" 
      s.version      = "版本号 与 你仓库的 标签号 对应" 
      s.license      = "MIT"          # 开源证书
      s.summary      = "私人pod代码" # 项目简介
    
      s.homepage     = "仓库的主页"
      s.source       = { :git => "你的仓库地址,不能用SSH地址", :tag => "#{s.version}" }
      s.source_files = "代码的位置/*.{h,m}" #表示文件夹下所有的.h和.m文件
      s.requires_arc = true # 是否启用ARC
      s.platform     = :ios, "7.0" #平台及支持的最低版本
     # 实例
      s.subspec 'Library' do |ss|
        ss.source_files = 'AppFrame/Library/*.h'
        ss.public_header_files = 'AppFrame/Library/*.h'
        ss.subspec 'Network' do |sss|
          sss.subspec 'Http' do |ssss|
            ssss.dependency 'AFNetworking', '~> 3.2.1'
            ssss.source_files = 'AppFrame/Library/Network/Http/*.{h,m}'
            ssss.public_header_files = 'AppFrame/Library/Network/Http/*.h'
          end
        end
        ss.subspec 'Storage' do |sss|
          sss.subspec 'Keychain' do |ssss|
            ssss.source_files = 'AppFrame/Library/Storage/Keychain/*.{h,m}'
            ssss.public_header_files = 'AppFrame/Library/Storage/Keychain/*.h'
          end
        end
      end
    end
    
    • 验证podspec文件正确性,因为用到AFNetworking,所以要加入官方地址
    $ pod lib lint --verbose --allow-warnings --sources='https://github.com/CocoaPods/Specs'
    
    • 提交文件,打tag(必须和podspec版本号一致)
    更新版本库版本
    • 将podspec提交到远程版本库
    $ pod repo push podRepo AppFrame.podspec --allow-warnings  --sources='https://github.com/CocoaPods/Specs'
    

      
      到此,私有库创建完毕,使用最新版本:

    $ pod update
    

    相关文章

      网友评论

          本文标题:iOS CocoaPods私有库

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