Objective-C庫(kù)文件使用

靜態(tài)庫(kù) VS 動(dòng)態(tài)庫(kù)

靜態(tài)庫(kù):靜態(tài)庫(kù)在Objective-C里面以.a或者.framework作為后綴赂弓,目前開發(fā)者自己創(chuàng)建的庫(kù)文件(Framework)其實(shí)都是以靜態(tài)庫(kù)的形式鏈接到執(zhí)行文件的探越。鏈接時(shí)完整的拷貝到了可執(zhí)行文件中,被多次使用就會(huì)有多份拷貝(eg:iOS8+的Extention中使用)腐螟。靜態(tài)庫(kù)文件一般都會(huì)比較大愿汰,因?yàn)樗幸褂玫臄?shù)據(jù)都會(huì)被編譯進(jìn)去困后,而且如果庫(kù)文件的某個(gè)函數(shù)改變了,那么就又需要重新編譯新的庫(kù)文件了衬廷,優(yōu)點(diǎn)就是編譯后的執(zhí)行程序不需要外部的函數(shù)庫(kù)支持摇予,因?yàn)樗械暮瘮?shù)都已經(jīng)被編譯進(jìn)去了。

動(dòng)態(tài)庫(kù):動(dòng)態(tài)庫(kù)在Objective-C里面以dylib或者.framework最為后綴吗跋,系統(tǒng)為我們提供的framework就是動(dòng)態(tài)庫(kù)侧戴,目前開發(fā)者是不允許使用動(dòng)態(tài)庫(kù)的,因?yàn)槲覀冏约簞?chuàng)建的庫(kù)文件雖然buildSetting中的Mach-O

Type設(shè)置為Dynamic

Library跌宛,但是使用時(shí)直接鏈接到程序里面的酗宋,而不是放在服務(wù)器上進(jìn)行更新,開發(fā)者如果使用動(dòng)態(tài)庫(kù)放在服務(wù)器上疆拘,然后動(dòng)態(tài)的加載dlopen是不會(huì)通過(guò)審核的蜕猫,不然Apple的審核就沒有意義了。動(dòng)態(tài)庫(kù)在鏈接時(shí)不復(fù)制哎迄,程序運(yùn)行時(shí)由系統(tǒng)動(dòng)態(tài)加載到內(nèi)存回右,系統(tǒng)只加載一次,多個(gè)程序間共用漱挚,節(jié)省內(nèi)存翔烁,而且升級(jí)方便。

我們創(chuàng)建framework庫(kù)文件時(shí)旨涝,系統(tǒng)默認(rèn)是動(dòng)態(tài)庫(kù)的格式蹬屹,如果想做成靜態(tài)庫(kù),需要在buildSetting中將Mach-O Type選項(xiàng)設(shè)置為Static Library就行了颊糜!


framework VS .a

a:.a是純二進(jìn)制文件,不能直接拿來(lái)使用秃踩,需要配合頭文件衬鱼、資源文件一起使用。代碼資源憔杨、圖片鸟赫、json資源、xib文件等是無(wú)法打包進(jìn)去的消别,所以使用.a靜態(tài)庫(kù)的時(shí)候需要三個(gè)組成部分:.a文件+開放的頭文件+資源文件抛蚤。

framework:相當(dāng)于一個(gè)文件夾,可以直接拿來(lái)使用寻狂,所需要的資源岁经、頭文件、源文件都在里面蛇券。


Static Library/Framework VS Embedded Framework

Embedded

Framework是iOS8引入的為了方便Extention和宿主APP公用一份代碼庫(kù)而引入的缀壤,Embedded

Framework必須是Dynamic

framework(在buildSeting中設(shè)置為Dynamic)樊拓。如果你想限制在Extention中不可用的API放入你的Embedded

Framework,你可以勾選Allow app extension API only選框塘慕。


-framework的妙用

有些靜態(tài)庫(kù)文件我們只是在DEBUG模式下筋夏,調(diào)試使用。而不想打入release包中图呢,因?yàn)檫@樣會(huì)增加安裝包的大小条篷,這時(shí)可以在buildSetting中的Other

Linker Flags下對(duì)應(yīng)的模式中添加需要的庫(kù)文件,以-framework標(biāo)記蛤织,這樣程序編譯的時(shí)候就會(huì)根據(jù)里面的標(biāo)記來(lái)編譯進(jìn)執(zhí)行文件中赴叹。


在使用時(shí)可以利用runtime的反射來(lái)判斷庫(kù)文件有沒有被加載,或者利用buildSetting中的預(yù)編譯宏P(guān)reprocessor Macros來(lái)標(biāo)記瞳筏。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稚瘾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子姚炕,更是在濱河造成了極大的恐慌摊欠,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柱宦,死亡現(xiàn)場(chǎng)離奇詭異些椒,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)掸刊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門免糕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人忧侧,你說(shuō)我怎么就攤上這事石窑。” “怎么了蚓炬?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵松逊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我肯夏,道長(zhǎng)经宏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任驯击,我火速辦了婚禮烁兰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘徊都。我一直安慰自己沪斟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布暇矫。 她就那樣靜靜地躺著币喧,像睡著了一般轨域。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杀餐,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天干发,我揣著相機(jī)與錄音,去河邊找鬼史翘。 笑死枉长,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琼讽。 我是一名探鬼主播必峰,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钻蹬!你這毒婦竟也來(lái)了吼蚁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤问欠,失蹤者是張志新(化名)和其女友劉穎肝匆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顺献,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡旗国,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了注整。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片能曾。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖肿轨,靈堂內(nèi)的尸體忽然破棺而出寿冕,到底是詐尸還是另有隱情,我是刑警寧澤椒袍,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布驼唱,位于F島的核電站,受9級(jí)特大地震影響槐沼,放射性物質(zhì)發(fā)生泄漏曙蒸。R本人自食惡果不足惜捌治,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一岗钩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肖油,春花似錦兼吓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)审孽。三九已至,卻和暖如春浑娜,著一層夾襖步出監(jiān)牢的瞬間佑力,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工筋遭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留打颤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓漓滔,卻偏偏與公主長(zhǎng)得像编饺,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子响驴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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