組件化方案總結(jié)(1)創(chuàng)建私有庫

組件化開發(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文件

剛剛創(chuàng)建的lib文件

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)建成功了,使用的時候記得加入私有庫的路徑。

換成自己私有庫遠(yuǎn)程路徑,可以使用pod repo 查看
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近想為公司搭建cocoapods私有庫框架,老早之前做過,踩過不少坑,想不到又一次掉坑里。果真是好記性不如爛筆頭...
    生光閱讀 1,645評論 0 4
  • 項目組件化、平臺化是技術(shù)公司的共同目標(biāo),越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構(gòu)...
    swu_luo閱讀 22,827評論 0 39
  • 最近在學(xué)習(xí)vue.js的時候發(fā)現(xiàn),vue的組件化的思想對于編寫代碼是一個非常有用的事情。 首先為什么需要組件化? ...
    拂曉的云閱讀 7,351評論 6 23
  • Cocoapods是非常好用的一個iOS依賴管理工具,使用它可以方便的管理和更新項目中所使用到的第三方庫,以及將自...
    Nash33閱讀 2,182評論 0 50
  • 下午一點半,宋寧海開車把兒子送到了眾德教育門口,看著兒子在窗外向他揮揮手,然后扭身向補習(xí)班的教室走去。他發(fā)動...
    酷雪冰凌閱讀 1,126評論 4 6

友情鏈接更多精彩內(nèi)容