IOS組件化-多工程聯(lián)編

當(dāng)一個(gè)工程隨著時(shí)間的推移,開發(fā)人員的增加胆屿,工程變得碩大且不好維護(hù)箭养,提交代碼沖突重重慕嚷,是時(shí)候考慮項(xiàng)目的組件化了。若從一開始就走組件化之路絕逼是一個(gè)好辦法毕泌。

組件化的目的是為了達(dá)到解耦喝检,多工程聯(lián)編更是達(dá)到了物理解耦,最理想的是各種模塊可以隨意的應(yīng)用到其他的工程撼泛。每天蹲坑的時(shí)候也會在思索如何去走這條道路挠说。蘑菇街以及反革命主義者的文章給我啟發(fā)很大,綜合兩者不失為一種好辦法愿题。但本文章主要是介紹如何多工程聯(lián)編损俭,這幾天抽空寫了個(gè)Demo(寫的比較隨意蛙奖,大家忽略細(xì)節(jié)),廢話不多說直接上步驟杆兵。

首先上下工程效果圖:


建立一個(gè)新工程:

工程少不了pods吧雁仲,不然第三方的東西管理腫么辦,我們偷偷的跑到根目錄下去添加一下琐脏。為了方便我下載了一個(gè)pods的客戶端攒砖,哈哈,只是不能好好的用命令行裝逼了:

打開WorkPlace將Enable Bitcode設(shè)為No:

接下來就是各個(gè)組件Framework的建立了:

把他添加到WorkPlace里面來:

接下來的幾個(gè)設(shè)置很關(guān)鍵了:

最低支持哪個(gè)版本


bitcode設(shè)置一下


這個(gè)干嘛的腦補(bǔ)

BuildPhases中添加CopyFile日裙,在里面把編譯出來的模塊Framework吹艇,Bundle拷貝到App的ModuleFrames目錄下,以便其他引用他的工程可以方便加入:

拷貝一份到Module目錄下替換為下面腳本


在CommonModule里面添加一點(diǎn)公用的東西:

一個(gè)是公用的宏阅签,一個(gè)是調(diào)試輸出

把對外的頭文件拖到public里面:

對外頭文件

單獨(dú)編譯一下CommonModule工程,主工程就可以導(dǎo)入CommonModule使用啦:

目錄下有拷貝的framework有木有很雞凍

主工程將他引入:


設(shè)置頭文件路徑

主工程編譯:

導(dǎo)入頭文件調(diào)用公共模塊方法


公共模塊方法很簡單


yeah掐暮!第一個(gè)模塊搞定

要是Framework里面有資源文件怎么辦,主工程怎么去調(diào)用政钟,組件工程之前能不能相互調(diào)用?

接下來我們多建立幾個(gè)組件工程并且添加部分資源:


CommonModule同樣的方式配置建立ModuleOne


建立幾個(gè)文件樟结,一個(gè)ViewController


對外調(diào)用接口全部在interface頭文件里面

添加ModuleOne工程要使用的資源以Storyboard為例:


添加一個(gè)Bundle


設(shè)置為ios可用




此處替換為下面的腳本執(zhí)行


Build Resource資源:


主工程可以引入資源文件


到ModuleFrameworks目錄下找到bundle文件

添加ModuleOne的Framework一個(gè)組件建立完成养交,按照此方法可以建立多個(gè)組件:


寫的demo總共添加了三個(gè)一個(gè)公共模塊兩個(gè)業(yè)務(wù)模塊

開發(fā)協(xié)作問題,自己負(fù)責(zé)的業(yè)務(wù)模塊可以單獨(dú)編譯瓢宦,并不影響其他業(yè)務(wù)模塊碎连。如果需要全部編譯,一個(gè)一個(gè)去編譯會顯得有點(diǎn)SB驮履。我們可以建立一個(gè)Target Build所有的模塊也可以自己調(diào)整Framework的編譯順序鱼辙,太棒了:




這樣就可以實(shí)現(xiàn)全部工程的編譯了,需要注意玫镐,模擬器跟真機(jī)切換時(shí)候需要分別編譯倒戏,打包發(fā)布不能用模擬器編譯。

子工程需要添加第三方庫時(shí):

把第三方Framework文件通過copy files拷貝到ModuleFrameworks里和自己Framework文件放在一起恐似。

如果新增了第三方庫和Bundle杜跷,需在copy files中添加拷貝文件。

模塊內(nèi)新增了圖片等資源文件矫夷,需在Bundle的Resourse Target中將新文件添加到Copy Bundle Resource中才會被打到Bundle包里葛闷。

附上工程目錄圖:

PS:

特別鳴謝(金鴻,俊華)

大家有好的建議或者幫助歡迎留言(模塊工程間的共用資源問題歡迎大家討論留言)

Demo地址:https://pan.baidu.com/s/1hsKFMNa

如需轉(zhuǎn)載標(biāo)明出處

各位看官覺得有用的話就請Yes-Cui喝瓶水吧双藕,打賞一個(gè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淑趾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忧陪,更是在濱河造成了極大的恐慌扣泊,老刑警劉巖近范,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異旷赖,居然都是意外死亡顺又,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門等孵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稚照,“玉大人,你說我怎么就攤上這事俯萌」迹” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵咐熙,是天一觀的道長弱恒。 經(jīng)常有香客問我,道長棋恼,這世上最難降的妖魔是什么返弹? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮爪飘,結(jié)果婚禮上义起,老公的妹妹穿的比我還像新娘。我一直安慰自己师崎,他們只是感情好默终,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著犁罩,像睡著了一般齐蔽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上床估,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天含滴,我揣著相機(jī)與錄音,去河邊找鬼顷窒。 笑死蛙吏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鞋吉。 我是一名探鬼主播鸦做,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谓着!你這毒婦竟也來了泼诱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤赊锚,失蹤者是張志新(化名)和其女友劉穎治筒,沒想到半個(gè)月后屉栓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡耸袜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年友多,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堤框。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡域滥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜈抓,到底是詐尸還是另有隱情启绰,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布沟使,位于F島的核電站委可,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏腊嗡。R本人自食惡果不足惜着倾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望燕少。 院中可真熱鬧屈呕,春花似錦、人聲如沸棺亭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镶摘。三九已至,卻和暖如春岳守,著一層夾襖步出監(jiān)牢的瞬間凄敢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工湿痢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涝缝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓譬重,卻偏偏與公主長得像拒逮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子臀规,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

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