將多個(gè)三方庫(kù)打包成一個(gè)動(dòng)態(tài)庫(kù)

一.目的

項(xiàng)目里有A.B.C三個(gè)庫(kù)的時(shí)候.
想用cocopods集成三方庫(kù).
就需要每個(gè)庫(kù)都通過(guò)cocopods來(lái)集成.
個(gè)人強(qiáng)迫癥.感覺(jué)很不爽.
最后看見(jiàn)大神的一個(gè)做法.

(1) 新建一個(gè)靜態(tài)庫(kù).

(2) 讓這個(gè)GXPodLinker靜態(tài)庫(kù)通過(guò)cocopods集成你想要的三方庫(kù).

(3) 將這個(gè)GXPodLinker靜態(tài)庫(kù)與三方庫(kù)一起打成一個(gè) all_in_one.a靜態(tài)包.

這個(gè)all_in_one.a靜態(tài)包就包含了所有三方庫(kù)的.o文件.

(4) 創(chuàng)建一個(gè)動(dòng)態(tài)庫(kù)D作為all_in_one.a靜態(tài)包的殼.

動(dòng)態(tài)庫(kù)D編譯出來(lái)的framework就可以作為一個(gè)公用組件放在工程里使用了.

二.具體實(shí)現(xiàn)步驟

1.創(chuàng)建動(dòng)態(tài)庫(kù)GXPodContainer

2.在GXPodLinker目錄下創(chuàng)建GXPodLinker靜態(tài)庫(kù).如下圖目錄結(jié)構(gòu)

3.在GXPodLinker目錄下創(chuàng)建Podfile.并填寫(xiě)依賴的三方庫(kù).

4.運(yùn)行pod install命令.

5.打開(kāi)GXPodLinker.xcworkspace.

6.在build phases/Link Binary With Libraries里添加你依賴的三方庫(kù).如圖.

7.創(chuàng)建Aggregate

7.1.點(diǎn)擊下圖加號(hào)

7.2.選擇Aggregate

7.3.創(chuàng)建自定義腳本

7.4.填寫(xiě)要運(yùn)行的腳本

7.5.腳本如下.需要放在GXPodLinker工程目錄下才能被找到.

7.6.將target切換到GXPodLinkerShell.并運(yùn)行.就可以生成all_in_one.a靜態(tài)包了.
腳本會(huì)把a(bǔ)ll_in_one.a放在GXPodLinker工程目錄下的lib文件夾

8.打開(kāi)GXPodContainer工程.將all_in_one.a靜態(tài)包拖入GXPodContainer工程.如下圖

9.將all_in_one.a包link到工程

下圖中還link了libz.tbd和libsqlite3.tbd是因?yàn)閍ll_in_one.a靜態(tài)包里的文件需要依賴.

10.將三方庫(kù)的頭文件賦值到include文件夾目錄下

10.1.如下圖創(chuàng)建腳本

10.2.填寫(xiě)如下腳本

下圖中的GXPodLinker需要改成你創(chuàng)建的靜態(tài)庫(kù)殼的工程名

10.3.修改other linker flags

為什么修改見(jiàn)注意3

10.4.將GXPodContainer工程拖入你的主工程既可使用剛才你添加的三方庫(kù)類(lèi)了.

二.注意

1.靜態(tài)庫(kù)安裝cocopods時(shí)必須使用靜態(tài)庫(kù)導(dǎo)入.即Podfile文件里需要注釋掉use_frameworks!

2.靜態(tài)庫(kù)通過(guò)cocopods導(dǎo)入三方庫(kù)后.需要在Build Phases -> Link Binary With Libraries 里添加你所依賴的三方庫(kù).a >>> 很關(guān)鍵!!! 很關(guān)鍵!!! 很關(guān)鍵!!! 重要的事說(shuō)三遍以上.

3.將all_in_one.a靜態(tài)包拖入動(dòng)態(tài)庫(kù)A使用時(shí).動(dòng)態(tài)庫(kù)必須設(shè)置other linker flags 為 -ObjC. (關(guān)于other linker flags見(jiàn)other linker flags)

4.此時(shí)編譯動(dòng)態(tài)庫(kù)A.工程可能會(huì)報(bào)錯(cuò).根據(jù)錯(cuò)誤link對(duì)應(yīng)的系統(tǒng)庫(kù)即可.(因?yàn)榭赡苋綆?kù)需要依賴的系統(tǒng)庫(kù)你沒(méi)導(dǎo)入)

三.實(shí)現(xiàn)好的工程庫(kù)地址

使用方法請(qǐng)見(jiàn)該庫(kù)的 README.md

庫(kù)地址: https://github.com/moonbeammm/GXPodContainer.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尊勿,隨后出現(xiàn)的幾起案子嫉鲸,更是在濱河造成了極大的恐慌,老刑警劉巖谷扣,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)染服,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叨恨,“玉大人肌索,你說(shuō)我怎么就攤上這事√靥迹” “怎么了诚亚?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)午乓。 經(jīng)常有香客問(wèn)我站宗,道長(zhǎng),這世上最難降的妖魔是什么益愈? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任梢灭,我火速辦了婚禮,結(jié)果婚禮上蒸其,老公的妹妹穿的比我還像新娘敏释。我一直安慰自己,他們只是感情好摸袁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布钥顽。 她就那樣靜靜地躺著,像睡著了一般靠汁。 火紅的嫁衣襯著肌膚如雪蜂大。 梳的紋絲不亂的頭發(fā)上闽铐,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音奶浦,去河邊找鬼兄墅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛澳叉,可吹牛的內(nèi)容都是我干的隙咸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼成洗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扎瓶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起泌枪,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤概荷,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后碌燕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體误证,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年修壕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了愈捅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡慈鸠,死狀恐怖蓝谨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情青团,我是刑警寧澤譬巫,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站督笆,受9級(jí)特大地震影響芦昔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娃肿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一咕缎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧料扰,春花似錦凭豪、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春末早,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背说庭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工然磷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刊驴。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓姿搜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捆憎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舅柜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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