2018-02-24

項(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)對(duì)A輪之后的業(yè)務(wù)擴(kuò)張乘陪。

但也不是非得等到這一步才開始,如果在項(xiàng)目初期實(shí)施組件化雕擂,雖然代碼量會(huì)有所增加啡邑,但是要把一個(gè)小項(xiàng)目組件化的難度也會(huì)小很多。

私有索引庫

私有索引庫的作用是存放.podSpec文件的井赌。當(dāng)你使用pod search AFN時(shí)谤逼,pod會(huì)在本地的索引庫中進(jìn)行搜索。

私有索引庫分為本地私有索引庫和遠(yuǎn)程私有索引庫仇穗,它們是相互對(duì)應(yīng)的流部。

本地私有索引庫

本地索引庫

可以發(fā)現(xiàn)只有一個(gè)master,這個(gè)是CocoaPods的本地索引庫,但它不是私有的纹坐,只要安裝過CocoaPods的電腦枝冀,都會(huì)有這么一個(gè)索引庫。它對(duì)應(yīng)CocoaPods的遠(yuǎn)程索引庫耘子。

由于它不是私有的果漾,所以我們需要自己創(chuàng)建一個(gè)私有索引庫。目前GitHub的私有代碼倉庫是需要money的谷誓,我們可以選擇碼云绒障、碼市等具有可以免費(fèi)創(chuàng)建私有代碼倉庫的代碼托管平臺(tái)。操作和GitHub是一樣的捍歪。就拿碼市做例子户辱。

遠(yuǎn)程私有索引庫

1.創(chuàng)建遠(yuǎn)程私有索引庫,復(fù)制倉庫地址费封。

創(chuàng)建遠(yuǎn)程私有索引庫

2.復(fù)制遠(yuǎn)程索引庫地址。

復(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文件的痕届。

LTSpec私有庫

私有代碼倉庫

代碼倉庫也分公私有韧献,因?yàn)槭枪镜捻?xiàng)目末患,不想暴露給別人,所以也需要建立私有代碼倉庫锤窑。

私有索引庫也屬于私有代碼倉庫璧针,只是從功能上分開。一個(gè)是用來存放代碼的渊啰,一個(gè)是用來存放.podSpec文件的探橱。

私有代碼倉庫也分為本地私有代碼庫和遠(yuǎn)程私有代碼庫,它們也是相互對(duì)應(yīng)的绘证。

本地私有代碼庫

1.在我們的主工程的同級(jí)目錄下隧膏,創(chuàng)建我們的組件工程,比如我的主工程在我的桌面的LTMainProject目錄下嚷那,我想抽取主工程里的網(wǎng)絡(luò)通信模塊胞枕。使用CocoaPods的模板在終端輸入:

cd /Users/yufu/Desktop/LTMainProject

pod lib create LTNetworking

2.將自己抽取出的組件拷貝到創(chuàng)建的模板工程中

抽取的組件代碼

3.修改組件的.podSpec文件

修改文件

遠(yuǎn)程私有代碼倉庫

1.創(chuàng)建遠(yuǎn)程私有代碼倉庫

網(wǎng)絡(luò)通信組件的私有代碼倉庫

2.提交本地私有模板組件代碼到遠(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

3.對(duì)文件進(jìn)行本地驗(yàn)證和遠(yuǎn)程驗(yàn)證

cd /Users/yufu/Desktop/LTMainProject/LTNetworking

pod lib lint --private

pod spec lint --private

4.將驗(yàn)證通過的.podSpec文件加入到本地私有索引庫魏宽,并上傳到遠(yuǎn)程私有索引庫

pod repo push LTSpec LTNetworking.podspec

5.在LTSpec路徑下就會(huì)出現(xiàn)LTNetworking

LTNetworking.podspec

6.查看遠(yuǎn)程私有索引庫

遠(yuǎn)程私有索引庫

7.使用終端查看自己的私有組件

pod search LTNetworking

pod search LTNetworking

現(xiàn)在就可以使用pod安裝自己的私有組件了腐泻。

安裝私有組件

打開終端一頓操作猛如虎

cd /Users/yufu/Desktop/LTMainProject/LTMainProject

vim Podfile

添加source ‘https://git.coding.net/lt1061961387/LTSpec.git’

添加pod 'LTNetworking'后退出

pod install

打開主工程發(fā)現(xiàn)組件已經(jīng)乖乖躺在Pod里了

集成組件成功

集成完成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末队询,一起剝皮案震驚了整個(gè)濱河市派桩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌娘摔,老刑警劉巖窄坦,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凳寺,居然都是意外死亡鸭津,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門肠缨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逆趋,“玉大人,你說我怎么就攤上這事晒奕∥攀椋” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵脑慧,是天一觀的道長魄眉。 經(jīng)常有香客問我,道長闷袒,這世上最難降的妖魔是什么坑律? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮囊骤,結(jié)果婚禮上晃择,老公的妹妹穿的比我還像新娘冀值。我一直安慰自己,他們只是感情好宫屠,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布列疗。 她就那樣靜靜地躺著,像睡著了一般浪蹂。 火紅的嫁衣襯著肌膚如雪抵栈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天乌逐,我揣著相機(jī)與錄音竭讳,去河邊找鬼。 笑死浙踢,一個(gè)胖子當(dāng)著我的面吹牛绢慢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播洛波,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼胰舆,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了蹬挤?” 一聲冷哼從身側(cè)響起缚窿,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎焰扳,沒想到半個(gè)月后倦零,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吨悍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年扫茅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片育瓜。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡葫隙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出躏仇,到底是詐尸還是另有隱情恋脚,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布焰手,位于F島的核電站糟描,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏书妻。R本人自食惡果不足惜船响,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灿意,春花似錦、人聲如沸崇呵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽域慷。三九已至荒辕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犹褒,已是汗流浹背抵窒。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叠骑,地道東北人李皇。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像宙枷,于是被迫代替她去往敵國和親掉房。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 項(xiàng)目組件化慰丛、平臺(tái)化是技術(shù)公司的共同目標(biāo)卓囚,越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,469評(píng)論 0 39
  • 最近在學(xué)習(xí)vue.js的時(shí)候發(fā)現(xiàn)诅病,vue的組件化的思想對(duì)于編寫代碼是一個(gè)非常有用的事情哪亿。 首先為什么需要組件化? ...
    拂曉的云閱讀 7,155評(píng)論 6 23
  • 前言 本篇主要講解組件化架構(gòu)思想贤笆,從零教你如何組件化一個(gè)項(xiàng)目蝇棉。 如果喜歡我的文章,可以關(guān)注我微博:袁崢Seemyg...
    袁崢閱讀 21,129評(píng)論 41 338
  • CocoaPods 可以說是 iOS 開發(fā)應(yīng)用最廣泛的包管理工具苏潜,本篇文章主要介紹 CocoaPods 的第三方庫...
    tianziyao閱讀 1,583評(píng)論 0 26
  • 用到的組件 1银萍、通過CocoaPods安裝 2、第三方類庫安裝 3恤左、第三方服務(wù) 友盟社會(huì)化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,601評(píng)論 1 180