組件27-二進(jìn)制:二進(jìn)制化-中級(jí)實(shí)踐方案-復(fù)合工程 創(chuàng)建雙Target

上一篇的方案是:單獨(dú)創(chuàng)建一個(gè)新的庫好唯,把它當(dāng)做一個(gè)新的庫來管理。這樣的弊端是需要維護(hù)兩個(gè)庫霞溪,還要在宿主工程的Podfile中修改pod 'XMGDownLoad或XMGDownLoadLib'來切換源碼和二進(jìn)制境钟。如果類似的庫多了,工作量就大了镀岛。本篇將解決這個(gè)問題。

使用復(fù)合工程來解決這個(gè)問題

  1. 打開XMGDownLoad-Example源碼工程惧互;
  2. TARGETS處添加一個(gè).framework庫哎媚,修改該庫的編譯構(gòu)架為所有(Build Settings--> Build Active Architecture Only --> NO)、mach-O Type為static library(Build Settings --> Mach-O Type --> static library)喊儡、Headers暴露(拖入文件后再暴露)拨与、release。
  3. 拖入源碼到庫所屬文件夾中艾猜,注意是引用關(guān)系买喧,不是復(fù)制拷貝關(guān)系,這樣修改的都是同一處文件匆赃,操作如下圖淤毛。然后暴露下頭文件從Project到Public。
    1.設(shè)置編譯所有構(gòu)架
    2.mach-O Type 靜態(tài)庫
    3.暴露接口
    4.Edit Scheme——>release


    Snip20170714_61.png
  4. 修改XMGDownLoad-Example工程的的podspec算柳,注釋s.source_files低淡,改為:s.source_files = 'XMGDownLoad/Classes/*/.h'(只安裝.h頭文件,.m不能給瞬项,否則就起不到保護(hù)的作用)蔗蹋;s.vendored_frameworks = 'XMGDownLoad/Products/XMGDownLoad. framework'(庫的路徑,根目錄下新建個(gè)Products文件夾拷貝入編譯好的framework庫或者修改設(shè)置囱淋,在上一篇中講到)
s.source_files = 'XMGDownLoad/Classes/**/*.h'
s.vendored_frameworks = 'XMGDownLoad/Products/XMGDownLoad.framework'
  1. 修改version猪杭,提交代碼到遠(yuǎn)程庫。

  2. 宿主工程妥衣,podfile文件中只需要 pod 'XMGDownLoad'即可皂吮,無需加Lib,因?yàn)閜odspec文件中指明了安裝頭文件和二進(jìn)制庫税手,tag指名了哪一份代碼蜂筹,s.source :git指名了源碼地址。

    Snip20170714_67.png

  3. 宿主工程芦倒,如果是pod install狂票,是從Podfile.lock中找版本號(hào),所以安裝之后還是源碼版本0.1.0不是二進(jìn)制庫版本0.1.1熙暴;所以應(yīng)該用pod update --no-repo-update闺属,從podfile中找版本號(hào)。

pod install不升級(jí)版本號(hào)——從podfile.lock找原有版本號(hào)version或tag


pod install不升級(jí)版本號(hào)——從podfile.lock找版本號(hào)

pod update升級(jí)版本號(hào)——從podfile找spec安裝最新版本號(hào)version或tag


pod update升級(jí)版本號(hào)——從podfile找spec安裝最新版本號(hào)

這個(gè)方案的好處

  1. 維護(hù)下載庫XMGDownLoad周霉,只需要維護(hù)一份代碼就可以了掂器。源碼XMGDownLoad和庫XMGDownLoadLib都在XMGDownLoad-Example工程中,只需要維護(hù)一份在Classes中的代碼俱箱。
  2. 宿主Podfile只需pod 'XMGDownLoad'就可以安裝二進(jìn)制庫国瓮。

這個(gè)方案的思路

XMGDownLoad-Example中Targets添加創(chuàng)建一個(gè).framework庫,該庫代碼引用原Classes有的狞谱,而不是復(fù)制一份乃摹。這樣修改代碼還是修改原來那一份的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末跟衅,一起剝皮案震驚了整個(gè)濱河市孵睬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伶跷,老刑警劉巖掰读,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叭莫,居然都是意外死亡蹈集,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門雇初,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拢肆,“玉大人,你說我怎么就攤上這事靖诗」郑” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵呻畸,是天一觀的道長移盆。 經(jīng)常有香客問我,道長伤为,這世上最難降的妖魔是什么咒循? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮绞愚,結(jié)果婚禮上叙甸,老公的妹妹穿的比我還像新娘。我一直安慰自己位衩,他們只是感情好裆蒸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著糖驴,像睡著了一般僚祷。 火紅的嫁衣襯著肌膚如雪佛致。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天辙谜,我揣著相機(jī)與錄音俺榆,去河邊找鬼。 笑死装哆,一個(gè)胖子當(dāng)著我的面吹牛罐脊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜕琴,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼萍桌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凌简?” 一聲冷哼從身側(cè)響起上炎,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎号醉,沒想到半個(gè)月后反症,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畔派,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年铅碍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片线椰。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胞谈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出憨愉,到底是詐尸還是另有隱情烦绳,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布配紫,位于F島的核電站径密,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏躺孝。R本人自食惡果不足惜享扔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望植袍。 院中可真熱鬧惧眠,春花似錦、人聲如沸于个。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秀存,卻和暖如春捶码,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背或链。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工宙项, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人株扛。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像汇荐,于是被迫代替她去往敵國和親洞就。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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

  • iOS CocoaPods組件平滑二進(jìn)制化方案及詳細(xì)教程 感謝"fly2never_寶貝別哭"掀淘⊙可以使用cocoa...
    曹俊_413f閱讀 12,543評(píng)論 6 83
  • 項(xiàng)目組件化、平臺(tái)化是技術(shù)公司的共同目標(biāo)革娄,越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件倾贰,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,564評(píng)論 0 39
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件拦惋、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,058評(píng)論 4 62
  • 【學(xué)齡后】口號(hào):溫柔地堅(jiān)持 孩子第一個(gè)30天目標(biāo):在洗手間刷牙匆浙,刷完牙馬上洗臉 媽媽第一個(gè)30天目標(biāo):恢復(fù)與大寶的...
    zengl閱讀 154評(píng)論 0 0
  • 不知為何,近日來厕妖?感想繁多首尼,特此記下! 又是一年集訓(xùn)季言秸,我成為教官已經(jīng)半年多了软能。還記得當(dāng)初參選教官的緣由——我只有...
    以琛吶閱讀 178評(píng)論 0 0