元件化之CocoaPods釋出私有庫

weixin_33866037發表於2018-06-21
  1. 建立索引庫(如果是推到公共庫,略過)
  • 遠端git倉庫上建立專案(coding、github)
  • pod repo add [庫名] [git地址]
  • ps:這個庫是私有庫的索引庫,儲存所有私有庫的.podspec檔案,不儲存具體程式碼。
  1. 建立元件庫
  • 通過模板快速建立.pod lib create [工程名]
  • 如圖提示缺少colored2,使用sudo gem install colored2 安裝
  1. 配置.podspec檔案
  • 看參考知名的第三方框架
Pod::Spec.new do |s|
  s.name         = "JLRoutes"
  s.version      = "2.1"
  s.summary      = "URL routing library for iOS with a simple block-based API."
  s.homepage     = "https://github.com/joeldev/JLRoutes"
  s.license      = "BSD 3-Clause \"New\" License"
  s.author       = { "Joel Levin" => "joel@joeldev.com" }
  s.source       = { :git => "https://github.com/joeldev/JLRoutes.git", :tag => "2.1" }
  s.framework    = 'Foundation'
  s.requires_arc = true

  s.source_files = 'JLRoutes', 'JLRoutes/*.{h,m}', 'JLRoutes/Classes/*.{h,m}'

  s.ios.deployment_target = '8.0'
  s.osx.deployment_target = '10.10'
  s.tvos.deployment_target = '9.0'
end
  • 打版本號。pod tag [版本號] git push --tags

  • 注意點:可能會有配置子模組的需求,但在實踐下來後,不建議這麼操作。推薦分成多個私有庫。因為Example中是這麼引入的pod 'ZHMediator', :path => '../',配置子庫後,進行pod install後,目錄冗餘。

  1. 驗證podspec有效性
  • pod lib lint本地驗證(不會驗證版本號)
  • pod spec lint遠端驗證(需要打好正確的版本號)
  1. 向索引庫提交索引檔案

5.1 如果是私有庫
pod repo push [索引庫名][要提交的索引檔案.podspec].如果依賴了非公有庫的源,依賴了library,需要引數中指定源.--sources=[git地址],[第二個索引庫]--use-libraries.

5.2 如果是公有庫

  • pod trunk register [郵箱]
    郵箱中會收到一封驗證郵件,點選後提示回到控制檯
  • pod trunk push

相關文章