組件化第一步,建立私有Pod

更好的閱讀體驗,歡迎訪問個人博客html

關於組件化,目前比較流行的方案大概有三種:Router, Protocol, Target-Action。 不管是選擇哪種方案,都須要經過創建私有Pod來管理項目。本文但願經過創建一個組件化中經常使用的Base庫能將這個事情講清楚。ios

建立Pod

建立Base庫的podspec

選擇合適的本地路徑建立modularization文件夾 其中的podspec包含了這個庫的信息(包括名稱,版本和描述等).
下面是官方定義:git

A specification describes a version of Pod library. It includes details about where the source should be fetched from, what files to use, the build settings to apply, and other general metadata such as its name, version, and description.
一個描述各個版本Pod庫的規範。它包括關於應該從何處獲取源碼、使用到的文件、應用構建設置以及其餘通用元數據(如其名稱、版本和描述)的詳細信息。github

cd Base
pod lib create Base
複製代碼

建立時會須要回答幾個問題 ruby

編輯podspec

用編輯器打開Base.podspec文件,把咱們庫的信息填寫到podspec中去。
務必每一項都要填寫正確,如s.homepage,s.source中的連接要可以正常訪問app

Pod::Spec.new do |s|
  s.name             = 'Base'
  s.version          = '0.0.1' # 這裏的version要與git操做中的tag相一致,由於目前Base庫中尚未代碼,故此我把version設爲0.0.1
  s.summary          = 'iOS組件化中Base組件:主要存放項目中無關業務的基礎組件'

  s.description      = <<-DESC TODO: Add long description of the pod here. DESC

  s.homepage         = 'https://github.com/Wrapperss/Base.git'
  # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'Wrappers' => 'zhanglive@outlook.com' }
  s.source           = { :git => 'https://github.com/Wrapperss/Base.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.ios.deployment_target = '8.0'

  s.source_files = 'Base/Classes/**/*'
  
  # s.resource_bundles = {
  # 'Base' => ['Base/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  s.frameworks = 'UIKit', 'MapKit'
  s.dependency 'AFNetworking', '~> 2.3' #依賴的其餘庫
end
複製代碼

測試podspec是否正確

cd Base
pod lib lint
複製代碼

建立倉庫(Repository)

私有庫也須要單獨一個Repository來存儲咱們的代碼,就像RxSwfit
此處用Github的私有庫爲例,通常建立在公司的GitLab上。
編輯器

關聯本地與遠端,提交代碼

經過如下命令將遠端倉庫與本地代碼關聯起來

git remote add origin https://github.com/Wrapperss/Base.git
git push -u origin master
複製代碼

提交代碼,並將打上Tag

注意:Tag必須與以前在podspec中填寫的version一致,這裏咱們是0.0.1 ide

建立私有的Spces

建立一個私有的倉庫

將私有Spces建立到本地

pod repo add WSpecs https://github.com/Wrapperss/WSpecs.git
複製代碼

查看本地中open ~/.cocoapods/repos
repos中兩個文件夾(Master,WSpces),其中中WSpces就是咱們新建立的。組件化

將Pod推到到WSpces

pod repo push WSpecs Base.podspec
複製代碼

使用

Podfile中加入測試

source 'https://github.com/CocoaPods/Specs.git' #公開的
source 'https://github.com/Wrapperss/WSpecs.git' #私有的

pod 'Base', :git=>'https://github.com/Wrapperss/Base.git' #可使用私有庫了!
複製代碼
相關文章
相關標籤/搜索