iOS靜態(tài)庫(kù)與動(dòng)態(tài)庫(kù)的區(qū)別判耕、制作以及使用

如果我們有些功能要給別人用透绩,但是又不想公開(kāi)源代碼,比如百度地圖等壁熄,這時(shí)候我們就可以打包成庫(kù)供別人使用帚豪。

庫(kù)分靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)兩種:

靜態(tài)庫(kù):以.a 和 .framework為文件后綴名。
動(dòng)態(tài)庫(kù):以.tbd(之前叫.dylib) 和 .framework 為文件后綴名草丧。

靜態(tài)庫(kù)與動(dòng)態(tài)庫(kù)的區(qū)別

靜態(tài)庫(kù):鏈接時(shí)會(huì)被完整的復(fù)制到可執(zhí)行文件中狸臣,被多次使用就有多份拷貝。
動(dòng)態(tài)庫(kù):鏈接時(shí)不復(fù)制昌执,程序運(yùn)行時(shí)由系統(tǒng)動(dòng)態(tài)加載到內(nèi)存烛亦,系統(tǒng)只加載一次诈泼,多個(gè)程序共用(如系統(tǒng)的UIKit.framework等),節(jié)省內(nèi)存此洲。

蘋果規(guī)定不讓使用自己的動(dòng)態(tài)庫(kù)厂汗,否則審核就無(wú)法通過(guò)。
但是現(xiàn)實(shí)中集成了動(dòng)態(tài)庫(kù)也能上線審核通過(guò)呜师,可能我比較幸運(yùn)娶桦。

我們先來(lái)看一下iOS設(shè)備有哪些架構(gòu),因?yàn)橄旅嬉玫剑?/h3>

模擬器:
iPhone4s-iPnone5:i386
iPhone5s-iPhone7 Plus:x86_64

真機(jī):
iPhone3gs-iPhone4s:armv7
iPhone5-iPhone5c:armv7s
iPhone5s-iPhone7 Plus:arm64

支持armv7的靜態(tài)庫(kù)可以在armv7s上正常運(yùn)行汁汗。

一衷畦、 .a靜態(tài)庫(kù)的制作

  • 1、先創(chuàng)建一個(gè)新的Xcode工程TestStaticLibrary知牌,需要選擇Cocoa Touch Static Library這個(gè)模板:
    選擇Cocoa Touch Static Library
  • 2祈争、創(chuàng)建完成后刪除TestStaticLibrary.h和TestStaticLibrary.m兩個(gè)沒(méi)有用的文件

  • 3、新建文件或者從其它項(xiàng)目中拖入想要打包的文件角寸,這里拖入SmartCLLocationManager.h和SmartCLLocationManager.m兩個(gè)文件
    SmartCLLocationManager.h
SmartCLLocationManager.m
  • 3菩混、選擇添加公開(kāi)頭文件
    為了讓使用者知道有哪些方法可以用,我們需要公開(kāi)頭文件扁藕,這里我們公開(kāi)SmartCLLocationManager.h:


    添加公開(kāi)頭文件.gif
  • 4沮峡、修改配置
    我們需要把 Build Active Architecture Only 修改為NO,否則生成的靜態(tài)庫(kù)就只支持當(dāng)前選擇設(shè)備的架構(gòu)亿柑。

    修改配置

  • 5邢疙、然后編譯
    我們?cè)?code>debug和Release下分別選擇 Generic iOS Device任意一個(gè)模擬器 各編譯一次,編譯完后我們會(huì)看到工程中Products文件夾下的libTestStaticLibrary.a由紅色變成了黑色望薄,然后 show in finder坤候,看看生成的文件:

    編譯生成靜態(tài)庫(kù)

我們看到它為真機(jī)和模擬器都生成了debugRelease版本的.a靜態(tài)庫(kù)亲雪。里面都包含我們選擇公開(kāi)的頭文件嘿期。

我們來(lái)看看靜態(tài)庫(kù)支持的框架:命令為lipo -info 靜態(tài)庫(kù)名字

查看靜態(tài)庫(kù)支持的框架

我們看到芒澜,Debug-iphoneos里面的靜態(tài)庫(kù)支持的架構(gòu)有armv7arm64所以它只能用于真機(jī),在模擬器上會(huì)報(bào)錯(cuò)卧须。Debug-iphonesimulator里面的靜態(tài)庫(kù)支持的架構(gòu)有i386x86_64聪廉,所以它只能用于模擬器,在真機(jī)上會(huì)報(bào)錯(cuò)故慈。

如果想要讓模擬器和真機(jī)通用一個(gè)靜態(tài)庫(kù),我們可以使用終端命令來(lái)實(shí)現(xiàn)框全。命令格式:lipo -create 第一個(gè).a文件的絕對(duì)路徑 第二個(gè).a文件的絕對(duì)路徑 -output 最終的.a文件路徑:

未完待續(xù)察绷。

首推:record,就是上傳時(shí)候有點(diǎn)慢津辩。以下鏈接拿好不寫拆撼。親測(cè)好用容劳。

鏈接:Record screencasts fast & free! with GIF Support!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市闸度,隨后出現(xiàn)的幾起案子竭贩,更是在濱河造成了極大的恐慌,老刑警劉巖莺禁,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件留量,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡哟冬,警方通過(guò)查閱死者的電腦和手機(jī)楼熄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)浩峡,“玉大人可岂,你說(shuō)我怎么就攤上這事『苍郑” “怎么了缕粹?”我有些...
    開(kāi)封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)纸淮。 經(jīng)常有香客問(wèn)我平斩,道長(zhǎng),這世上最難降的妖魔是什么萎馅? 我笑而不...
    開(kāi)封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任双戳,我火速辦了婚禮,結(jié)果婚禮上糜芳,老公的妹妹穿的比我還像新娘飒货。我一直安慰自己,他們只是感情好峭竣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布塘辅。 她就那樣靜靜地躺著,像睡著了一般皆撩。 火紅的嫁衣襯著肌膚如雪扣墩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天扛吞,我揣著相機(jī)與錄音呻惕,去河邊找鬼。 笑死滥比,一個(gè)胖子當(dāng)著我的面吹牛亚脆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盲泛,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼濒持,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼键耕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起柑营,我...
    開(kāi)封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤屈雄,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后官套,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體酒奶,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年虏杰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讥蟆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纺阔,死狀恐怖瘸彤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情笛钝,我是刑警寧澤质况,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站玻靡,受9級(jí)特大地震影響结榄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜囤捻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一臼朗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝎土,春花似錦视哑、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至暴构,卻和暖如春跪呈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背取逾。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工耗绿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人砾隅。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓缭乘,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子堕绩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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