項(xiàng)目組件化,顧名思義,就是將項(xiàng)目中的各個(gè)模塊按照基礎(chǔ)組建,功能組件,業(yè)務(wù)組件劃分成一個(gè)個(gè)單獨(dú)的模塊,以使得各個(gè)模塊間可以單獨(dú)開發(fā)、測試、組合運(yùn)行。
一般公司在天使輪后產(chǎn)品閉環(huán)已經(jīng)確定,就需要實(shí)施組件化來應(yīng)對A輪之后的業(yè)務(wù)擴(kuò)張。
但也不是非得等到這一步才開始,如果在項(xiàng)目初期實(shí)施組件化,雖然代碼量會有所增加,但是要把一個(gè)小項(xiàng)目組件化的難度也會小很多。
私有索引庫
私有索引庫的作用是存放.podSpec文件的。當(dāng)你使用pod search AFN
時(shí),pod會在本地的索引庫中進(jìn)行搜索。
私有索引庫分為本地私有索引庫和遠(yuǎn)程私有索引庫,它們是相互對應(yīng)的。
-
本地私有索引庫
本地索引庫
可以發(fā)現(xiàn)只有一個(gè)master,這個(gè)是CocoaPods的本地索引庫,但它不是私有的,只要安裝過CocoaPods的電腦,都會有這么一個(gè)索引庫。它對應(yīng)CocoaPods的遠(yuǎn)程索引庫。
由于它不是私有的,所以我們需要自己創(chuàng)建一個(gè)私有索引庫。目前GitHub的私有代碼倉庫是需要money的,我們可以選擇碼云、碼市等具有可以免費(fèi)創(chuàng)建私有代碼倉庫的代碼托管平臺。操作和GitHub是一樣的。就拿碼市做例子。
- 遠(yuǎn)程私有索引庫
1.創(chuàng)建遠(yuǎn)程私有索引庫。
2.復(fù)制遠(yuǎn)程索引庫地址。
3.打開終端,將遠(yuǎn)程私有庫關(guān)聯(lián)到本地。
cd /Users/yufu/.cocoapods/repos
pod repo add LTSpec https://git.coding.net/lt1061961387/LTSpec.git
4.可以發(fā)現(xiàn)在Finder中多了一個(gè)LTSpec。這里就是我們用來存放組件的.podSpec文件的。
私有代碼倉庫
代碼倉庫也分公私有,因?yàn)槭枪镜捻?xiàng)目,不想暴露給別人,所以也需要建立私有代碼倉庫。
私有索引庫也屬于私有代碼倉庫,只是從功能上分開。一個(gè)是用來存放代碼的,一個(gè)是用來存放.podSpec文件的。
私有代碼倉庫也分為本地私有代碼庫和遠(yuǎn)程私有代碼庫,它們也是相互對應(yīng)的。
-
本地私有代碼庫
1.在我們的主工程的同級目錄下,創(chuàng)建我們的組件工程,比如我的主工程在我的桌面的LTMainProject
目錄下,我想抽取主工程里的網(wǎng)絡(luò)通信模塊。使用CocoaPods的模板在終端輸入:
cd /Users/yufu/Desktop/LTMainProject
pod lib create LTNetworking
2.將自己抽取出的組件拷貝到創(chuàng)建的模板工程中
抽取的組件代碼 -
遠(yuǎn)程私有代碼倉庫
1.創(chuàng)建遠(yuǎn)程私有代碼倉庫
網(wǎng)絡(luò)通信組件的私有代碼倉庫
2.修改組件的.podSpec文件
修改文件
3.提交本地私有模板組件代碼到遠(yuǎn)程私有代碼倉庫,并打上tag
標(biāo)簽
cd /Users/yufu/Desktop/LTMainProject/LTNetworking
git add .
git commit -m '創(chuàng)建網(wǎng)絡(luò)通信組件'
git tag '0.1.0'
git remote add origin git@git.coding.net:lt1061961387/LTNetworking.git
git push -u origin master
git push --tag
4.對文件進(jìn)行本地驗(yàn)證和遠(yuǎn)程驗(yàn)證
cd /Users/yufu/Desktop/LTMainProject/LTNetworking
pod lib lint --private
pod spec lint --private
5.將驗(yàn)證通過的.podSpec文件加入到本地私有索引庫,并上傳到遠(yuǎn)程私有索引庫
pod repo push LTSpec LTNetworking.podspec
6.在LTSpec路徑下就會出現(xiàn)LTNetworking
LTNetworking.podspec
7.查看遠(yuǎn)程私有索引庫
遠(yuǎn)程私有索引庫
8.使用終端查看自己的私有組件
pod search LTNetworking
pod search LTNetworking
現(xiàn)在就可以使用pod安裝自己的私有組件了。
安裝私有組件
打開終端一頓操作猛如虎
cd /Users/yufu/Desktop/LTMainProject/LTMainProject
pod init
vim Podfile
添加source ‘https://git.coding.net/lt1061961387/LTSpec.git’
添加pod 'LTNetworking'
后退出
pod install
打開主工程發(fā)現(xiàn)組件已經(jīng)乖乖躺在Pod里了
集成完成。