05-組件化(遠程私有庫)

一、組件化概念介紹

  • 將一個單一工程的項目,分解成為各個獨立的組件;然后按照某種方式,任意組織成一個擁有完整業務邏輯的工程

二、如何劃分成為一個組件

  • 簡單可以劃分為:業務組件、功能組件、基礎組件
    組件化1.png

二、遠程私有庫簡紹

  • 遠程私有庫中的“遠程”表示,我們開發的代碼存儲到遠程代碼倉庫中,而不是本地;“私有”表示,訪問這個庫是需要權限的,只有通過庫的作者授權了以后,他人才可以訪問使用。
  • 下面通過一幅圖來對比一下 遠程私有庫 和 開源庫
    組件化.png

三、創建私有庫

1、首先要找一個遠程代碼托管平臺(碼云、碼市、GitHub<收費>),這些都可以。

  • 1、創建一個遠程私有索引庫,后續中我們所有組件的spec文件都會上傳到這個遠程私有索引庫中


    組件化2.png

2、基礎組件

  • 1、創建存放基礎組件源碼的遠程庫
  • 1、使用終端來快速創建一個私有庫模板庫
RemoteLibrary $ pod lib create RevanBaseModule
  • 2、在回答下面的問題
What language do you want to use?? [ Swift / ObjC ]
 > ObjC

Would you like to include a demo application with your library? [ Yes / No ]
 > Yes

Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > None

Would you like to do view based testing? [ Yes / No ]
 > No

What is your class prefix?
 > Revan
  • 3、把需要組件化的代碼拖到模板中的Classes文件夾下
    組件化3.png
  • 4、執行以下命令把代碼加入項目工程中
pod install
組件化4.png

組件化5.png

3、編輯spec并且上傳到遠程索引庫

  • 1、編輯spec
    組件6.png
  • 2、遞交代碼到遠程倉庫中
    組件化7.png
  • 3、打tag并且上傳遠程
    組件化8.png
  • 4、可以對spec文件做一下驗證,只有通過了驗證spec文件才能上傳成功
    • spec本地驗證
      組件化9.png
    • spec遠程驗證
      組件化10.png
  • 5、上傳spec文件到本地
    組件化11.png
    • 本地索引庫
      組件化12.png
    • 遠程索引庫
      組件化13.png
  • 5、小結
    • 只要執行一次上傳spec文件的操作,本地索引庫和遠程索引庫都會上傳上去
pod repo push RevanSpecs RevanBaseModule.podspec

三、迭代基礎組件

  • 1、把需要組件化的代碼拖入Classes文件夾下
  • 2、修改podspec文件中的版本號
  • 3、提交代碼到遠程倉庫
  • 4、打tag:1、與version版本號相同,2、推送到遠程
  • 5、驗證podspec文件
  • 6、上傳podspec文件

四、使用私有庫

  • 1、使用私有庫時,必須在podfile文件中引入source
    組件化14.png
  • 2、在Podfile文件中添加了source后安裝成功
    組件化15.png
  • 3、為什么要同時在Podfile文件中添加Cocopods官方source 和 私有source
    • 1、通常情況下使用第三方庫的時候,都是使用Cocopods官方source,但是當我們使用私有庫的時候,因為我們私有庫的podspce文件并沒有上傳到CocoPods官方索引庫中,所以是在不到我們的私有庫,這就是為什么第一次安裝失敗的原因
    • 2、當我們在Podfile文件中只添加私有庫的源時,因為添加了源就指定了索引庫,這樣會造成只能搜索到我們的私有庫而搜索不到AFNetworking等等的開源庫,所以,為了都能使用,當我們在使用私有庫時,必須要同時在Podfile文件中添加CocoPods官方和私有source

五、subspec

  • 1、為什么要使用subspec
    • 因為有時我們項目中只是用到了基礎組件中的Category文件夾中的代碼,如何使用開始的方式添加私有組件的時候,會把私有組件中的所有代碼統統加入到項目中,這就造成很多不必要的代碼加入了項目中,而使用subspec后就會完美的解決這個問題
  • 2、subspec書寫格式
    組件化16.png
  • 3、使用了subspec后搜索出來的格式
    組件化17.png
  • 4、沒有使用subspec和使用了subspec相比較


    組件化18.png
    組件化19.png
  • 5、使用私有庫中多個文件夾
    組件化20.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,611評論 25 708
  • 最近在學習vue.js的時候發現,vue的組件化的思想對于編寫代碼是一個非常有用的事情。 首先為什么需要組件化? ...
    拂曉的云閱讀 7,203評論 6 23
  • 前言 本篇主要講解組件化架構思想,從零教你如何組件化一個項目。 如果喜歡我的文章,可以關注我微博:袁崢Seemyg...
    袁崢閱讀 21,220評論 41 339
  • 項目組件化、平臺化是技術公司的共同目標,越來越多的技術公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構...
    swu_luo閱讀 22,039評論 0 39
  • 想寫點什么,卻又無從下手,只能想哪寫哪了。我這人平時沉默寡言,不愛表達也不會表達,經常語無倫次,說不行,寫更不行,...
    Jenny_2430閱讀 165評論 0 0