ios中靜態(tài)庫.a的制作

在ios中制作靜態(tài)庫之前,先來了解關于靜態(tài)庫的一些概念传轰。

一剩盒、什么是庫?
庫是共享程序代碼的方式慨蛙,一般分為靜態(tài)庫和動態(tài)庫辽聊。
靜態(tài)庫:鏈接時完整地拷貝至可執(zhí)行文件中,被多次使用就有多份冗余拷貝期贫。
動態(tài)庫:鏈接時不復制跟匆,程序運行時由系統(tǒng)動態(tài)加載到內(nèi)存,供程序調(diào)用通砍,系統(tǒng)只加載一次玛臂,多個程序共用,節(jié)省內(nèi)存封孙。
二迹冤、庫的類型
開源庫
公開源代碼,能看到具體實現(xiàn)
比如 SDWebImage 虎忌、 AFNetworking

閉源庫
不公開源代碼泡徙,是經(jīng)過編譯后的二進制文件,看不到具體實現(xiàn)
主要分為:靜態(tài)庫膜蠢、動態(tài)庫
三堪藐、iOS里靜態(tài)庫形式?
.a和.framework
四挑围、iOS里動態(tài)庫形式庶橱?
.dylib和.framework
五、framework為什么既是靜態(tài)庫又是動態(tài)庫贪惹?
系統(tǒng)的.framework是動態(tài)庫,我們自己建立的.framework是靜態(tài)庫寂嘉。
六奏瞬、a與.framework有什么區(qū)別枫绅?
.a是一個純二進制文件,.framework中除了有二進制文件之外還有資源文件硼端。
.a文件不能直接使用并淋,至少要有.h文件配合,.framework文件可以直接使用珍昨。
.a + .h + sourceFile = .framework县耽。
建議用.framework.
七、為什么要使用靜態(tài)庫镣典?
方便共享代碼兔毙,便于合理使用。
實現(xiàn)iOS程序的模塊化兄春∨彀可以把固定的業(yè)務模塊化成靜態(tài)庫。
和別人分享你的代碼庫赶舆,但不想讓別人看到你代碼的實現(xiàn)哑姚。
開發(fā)第三方sdk的需要。

八芜茵、靜態(tài)庫和動態(tài)庫在使用上的區(qū)別叙量。
靜態(tài)庫:鏈接時,靜態(tài)庫會被完整地復制到可執(zhí)行文件中九串, 被多次使用就有多份冗余拷貝 (下圖示)


靜態(tài)庫和動態(tài)庫的加載區(qū)別.png

動態(tài)庫:鏈接時不復制绞佩,程序運行時由系統(tǒng)動態(tài)加載到內(nèi)存,供程序調(diào)用蒸辆,系統(tǒng)只加載一次征炼,多個程序共用,節(jié)省內(nèi)存(下圖示)


區(qū)別2.png

在實際的編程過程中躬贡,通常會把一些公用函數(shù)制成函數(shù)庫谆奥,供其它程序使用,一則提搞了代碼的復用拂玻;二則提搞了核心技術的保密程度酸些。所以在實際的項目開發(fā)中,經(jīng)常會使用到函數(shù)庫檐蚜,函數(shù)庫分為靜態(tài)庫和動態(tài)庫兩種魄懂。

和多數(shù)人所熟悉的動態(tài)語言和靜態(tài)語言一樣,這里的所謂靜態(tài)和動態(tài)是相對編譯期和運行期的:靜態(tài)庫在程序編譯時會被鏈接到目標代碼中闯第,程序運行時將不再需要改靜態(tài)庫市栗;而動態(tài)庫在程序編譯時并不會被鏈接到目標代碼中,只是在程序運行時才被載入,因為在程序運行期間還需要動態(tài)庫的存在填帽。

下面介紹下關于.a靜態(tài)庫制作的基本流程
1.創(chuàng)建靜態(tài)庫


創(chuàng)建靜態(tài)庫.png

2.靜態(tài)庫中聲明方法并實現(xiàn)(用于靜態(tài)庫使用的測試)


方法聲明和使用.png

3.關于靜態(tài)庫的一些參數(shù)配置
3.靜態(tài)庫配置.png

4.靜態(tài)庫中需要暴露的頭文件
4.文件打包和暴露頭文件.png

5.分別使用模擬器和真機編譯
編譯模式設置為Release模式蛛淋,原來的庫文件由紅色變?yōu)楹谏f明編譯成功篡腌。


5.1scheme配置1.png
5.2scheme配置2.png
模擬器編譯.png

6.查看打包出來的文件狀態(tài)
Show Finder查看庫文件


查看靜態(tài)庫狀態(tài).png

7.合并真機和模擬器庫文件

打開終端褐荷,進行以下操作
一、在終端輸入:lipo -create

二嘹悼、將release-iphonesimulator下的.a拖進終端叛甫,輸入一個空格;

三杨伙、繼續(xù)將release-iphoneos 下.a 拖進終端其监,輸入空格;

四缀台、繼續(xù)輸入:-output 棠赛,打個空格;

五膛腐、輸入合并后的.a所要放的文件路徑


7.合并文件.png

8.查看靜態(tài)庫狀態(tài)
一睛约、在終端輸入:lipo -info ;

二、將合并后的.a拖進終端 哲身,回車辩涝;
[圖片上傳中...(8.查看靜態(tài)庫狀態(tài).png-db2f76-1513126960067-0)]

至此,關于靜態(tài)庫制作完成勘天。

接下來怔揩,介紹如何導入并使用剛剛打包好的靜態(tài)庫。
1.導入庫文件


使用1.導入靜態(tài)庫.png

查看庫文件脯丝,是否在引用庫中


使用2.庫鏈接.png

2.使用靜態(tài)庫
使用3.調(diào)用使用使用靜態(tài)庫.png

至此商膊,全文關于.a靜態(tài)庫的制作和使用介紹完畢。
參考文章
手把手教你制作.a靜態(tài)庫
iOS開發(fā)中靜態(tài)庫制作 之.a靜態(tài)庫制作及使用篇

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宠进,一起剝皮案震驚了整個濱河市晕拆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌材蹬,老刑警劉巖实幕,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異堤器,居然都是意外死亡昆庇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門闸溃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來整吆,“玉大人拱撵,你說我怎么就攤上這事〉辔” “怎么了裕膀?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長勇哗。 經(jīng)常有香客問我,道長寸齐,這世上最難降的妖魔是什么欲诺? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮渺鹦,結(jié)果婚禮上扰法,老公的妹妹穿的比我還像新娘。我一直安慰自己毅厚,他們只是感情好塞颁,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吸耿,像睡著了一般祠锣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咽安,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天伴网,我揣著相機與錄音,去河邊找鬼妆棒。 笑死澡腾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的糕珊。 我是一名探鬼主播动分,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼红选!你這毒婦竟也來了澜公?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤纠脾,失蹤者是張志新(化名)和其女友劉穎玛瘸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苟蹈,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡糊渊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了慧脱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渺绒。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宗兼,到底是詐尸還是另有隱情躏鱼,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布殷绍,位于F島的核電站染苛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏主到。R本人自食惡果不足惜茶行,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望登钥。 院中可真熱鬧畔师,春花似錦、人聲如沸牧牢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塔鳍。三九已至伯铣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間献幔,已是汗流浹背懂傀。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜡感,地道東北人蹬蚁。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像郑兴,于是被迫代替她去往敵國和親犀斋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

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