組件化開發(fā)就是把目前項目中的一個個功能,業(yè)務(wù),基礎(chǔ)模塊分別解耦,分離出一個個pod庫。通過安裝pod庫的形式,代替過去臃腫不堪的項目。組件化項目很適合規(guī)模大一些的項目,或者做自己的產(chǎn)品,比如為明星定制軟件等,模式基本一樣。這樣就可以快速開發(fā),組件化開發(fā)結(jié)構(gòu)清晰多人合作開發(fā)不易發(fā)生沖突,還可以把每個組件通過靜態(tài)庫的形式來使用,這樣編譯的時間會有所提高,避免了每次編譯都耗時很久的問題。通過fastlane來自動執(zhí)行一些相似的操作,也可以為組件化進(jìn)程中提供便利。今天我們主要說的是第一步,創(chuàng)建私有庫。
1.創(chuàng)建Spec Repo
Spec Repo 是所有的Pods的一個索引庫,是所有公開的Pods 的podspec 文件的一個倉庫,其實就是一個部署在服務(wù)器的Git倉庫,當(dāng)你使用CocoaPods 后它會被Clone到本地的 ~/.cocoapods/repos 目錄下。
我們平時使用的pod的公開索引庫名稱是master,我們這里可以隨意起名,我這里暫時叫做HRSpecs。
(1).在托管平臺創(chuàng)建一個HRSpecs的項目
(2).添加你的私有Repo到你的CocoaPods ,pod repo add HRSpecs https://gitee.com/***/HRSpecs.git
(3).在終端使用pod repo命令看到HRSpecs后代表創(chuàng)建私有庫索引成功
2.創(chuàng)建pod庫
1.在托管平臺創(chuàng)建一個BaseLib項目,終端cd到目標(biāo)文件夾
2.使用pod lib create MyLib命令,創(chuàng)建好本地lib文件。創(chuàng)建過程中會問你幾個問題,如實回答就好(系統(tǒng)語言等問題,不區(qū)分大小寫)。成功后自動打開剛創(chuàng)建的工程
3.添加具體代碼
如圖所示,用自己代碼的文件替換掉ReplaceMe.m文件

4.添加代碼關(guān)聯(lián)
cd 到項目路徑終端執(zhí)行 $ git remote add origin?https://gitee.com/***/BaseLib.git? ? ? ? ? #關(guān)聯(lián)遠(yuǎn)程代碼倉庫
5.修改spec文件
s.summary? ? ? ? ? = 'BaseLib'
s.description? ? ? = <<-DESC
"baselib基礎(chǔ)庫"? ? ?(s.description要比s.summary內(nèi)容多)
s.homepage? ? ? ? = 'https://gitee.com/***/BaseLib'
s.source? ? ? ? ? = { :git => 'https://gitee.com/***/BaseLib.git', :tag => s.version.to_s }
6.提交代碼到遠(yuǎn)程代碼倉庫
$ git add .
$ git commit -m "初始化BaseLib 庫"
$ git push origin master? ? #提交到遠(yuǎn)端倉庫
$ git tag -m "初始版本號" "0.1.0"? #打上標(biāo)簽,這個很重要,標(biāo)簽名要有spec文件中的標(biāo)簽名一致
$ git push --tags? ? #推送tag到遠(yuǎn)端倉庫
7.驗證spec,并且提交到本地遠(yuǎn)程私有庫
本地驗證pod lib lint,遠(yuǎn)程驗證 pod spec lint? ?(加上--allow-warnings可以忽略警告)
8.將spec文件推到本地的私有庫??
使用命令 pod repo push HRSpecs BaseLib.podspec,執(zhí)行完成后會自動更新遠(yuǎn)程的HRSpecs
走到這私有庫就創(chuàng)建成功了,使用的時候記得加入私有庫的路徑。
