創(chuàng)建靜態(tài)庫(kù)

一体捏、靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的區(qū)別:

靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)是相對(duì)編譯期和運(yùn)行期的,靜態(tài)庫(kù)以 .a 和 .framework 形式存在,鏈接時(shí)窄做,靜態(tài)庫(kù)會(huì)被完整地復(fù)制到可執(zhí)行文件中,被多次使用就有多份冗余拷貝慰技;

動(dòng)態(tài)庫(kù)以 .dylib 和 .framework 形式存在椭盏,鏈接時(shí)不復(fù)制,程序運(yùn)行時(shí)由系統(tǒng)動(dòng)態(tài)加載到內(nèi)存吻商,供程序調(diào)用掏颊,系統(tǒng)只加載一次,多個(gè)程序共用艾帐,節(jié)省內(nèi)存乌叶,一般只能由系統(tǒng)創(chuàng)建。

靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的存在形式

靜態(tài)庫(kù): .a 和 .framework

動(dòng)態(tài)庫(kù): .dylib 和 .framework

注:項(xiàng)目中如果使用了自制的動(dòng)態(tài)庫(kù)柒爸,不能被上傳到 AppStore

靜態(tài)庫(kù)分為真機(jī)—Debug(調(diào)試)版本准浴、真機(jī)—Release(發(fā)布)版本、模擬器—Debug版本捎稚、模擬器—Release版本乐横;開發(fā)中一般都打包Release(發(fā)布)版本,將真機(jī)和模擬器版本合并阳藻,提供外界晰奖。

二、創(chuàng)建靜態(tài)庫(kù)

1腥泥、新建項(xiàng)目匾南,點(diǎn)擊iOS—Framework&Library—Cocoa Touch Static Library。

系統(tǒng)自動(dòng)生成以工程名命名的.h和.m文件蛔外,可自定義的在目錄下添加或刪除文件蛆楞。

注意目錄下Products文件夾有一個(gè).a文件為紅色,說(shuō)明文件并不存在夹厌。

這里我們將系統(tǒng)生成的.h和.m文件刪除豹爹。

2、點(diǎn)擊Build Phases—Copy Files矛纹,左下角點(diǎn)擊+號(hào)按鈕臂聋,添加你需要暴露的接口頭文件。

如果你在靜態(tài)庫(kù)工程中使用了category,那么你可能會(huì)碰到鏈接問(wèn)題孩等,解決的辦法就是需要同時(shí)在生成靜態(tài) ? ? ? ? ?庫(kù)的工程和使用靜態(tài)庫(kù)的工程中使用“-all_load”編譯選項(xiàng)艾君,即在對(duì)應(yīng)target的"Build Settings"中的“Other Linker Flags”選項(xiàng)添加“-all_load”。

注意:使用靜態(tài)庫(kù)的工程中是一定要加該編譯選項(xiàng)的肄方!至于生成靜態(tài)庫(kù)的工程中加不加沒(méi)有試過(guò)冰垄,不過(guò)建議還是加上該編譯選項(xiàng)。

3权她、點(diǎn)擊Build Phases左上角的+號(hào)按鈕虹茶,選擇New Headers Phase?選擇需要暴露出來(lái)的 .h 文件

4、查看Build Active architecture only 都改為NO

Yes表示只編譯選中模擬器設(shè)備對(duì)應(yīng)的架構(gòu)隅要,

No則為編譯所有模擬器設(shè)備支持的cup架構(gòu)

(Debug版本同理)

5蝴罪、分別在模擬器和真機(jī)下Command+B編譯一下,Products文件夾下的.a文件變?yōu)楹谏搬悖硎緞?chuàng)建成功洲炊,否則失敗

6、選中Products文件夾下的.a文件尼啡,右擊 “Show In Finder” 暂衡,查看制作好的 .a 文件

Debug-iphoneos 文件夾里面的東西是用在真機(jī)上的

Debug-iphonesimulator 文件夾里面的東西是用在模擬器上的

如果 Scheme 是 Release 模式,生成的文件夾就以 Release 開頭

7崖瞭、.a 文件能同時(shí)用在真機(jī)和模擬器上狂巢,需要進(jìn)行合并

在終端輸入指令: lipo -create ?模擬器.a文件的路徑 ?真機(jī).a文件的路徑 ?-output ?合并后的保存路徑(.a)

例如:lipo -create /Users/xxxx/Library/Developer/Xcode/DerivedData/StaticLib/Build/Products/Release-iphoneos/libxxx.a ? ?/Users/xxxx/Library/Developer/Xcode/DerivedData/StaticLib/Build/Products/Release-iphonesimulator/libxxx.a ?-output /Users/shelin/Desktop/StaticLib.a

8、使用:只需將.a和暴露出來(lái)的.h頭文件導(dǎo)入工程目錄下就可供外界使用书聚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唧领,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雌续,更是在濱河造成了極大的恐慌斩个,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驯杜,死亡現(xiàn)場(chǎng)離奇詭異受啥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)鸽心,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門滚局,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人顽频,你說(shuō)我怎么就攤上這事藤肢。” “怎么了糯景?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵嘁圈,是天一觀的道長(zhǎng)省骂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)最住,這世上最難降的妖魔是什么冀宴? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮温学,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甚疟。我一直安慰自己仗岖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布览妖。 她就那樣靜靜地躺著轧拄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讽膏。 梳的紋絲不亂的頭發(fā)上檩电,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音府树,去河邊找鬼俐末。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奄侠,可吹牛的內(nèi)容都是我干的卓箫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼垄潮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼烹卒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起弯洗,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤旅急,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后牡整,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體藐吮,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年果正,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了炎码。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秋泳,死狀恐怖潦闲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迫皱,我是刑警寧澤歉闰,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布辖众,位于F島的核電站,受9級(jí)特大地震影響和敬,放射性物質(zhì)發(fā)生泄漏凹炸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一昼弟、第九天 我趴在偏房一處隱蔽的房頂上張望啤它。 院中可真熱鬧,春花似錦舱痘、人聲如沸变骡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)塌碌。三九已至,卻和暖如春旬盯,著一層夾襖步出監(jiān)牢的瞬間台妆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工胖翰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留接剩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓泡态,卻偏偏與公主長(zhǎng)得像搂漠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子某弦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • 一桐汤、靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的區(qū)別: 靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)是相對(duì)編譯期和運(yùn)行期的,靜態(tài)庫(kù)以 .a 和 .framework 形式存...
    Shelin閱讀 10,656評(píng)論 24 29
  • 靜態(tài)庫(kù)與動(dòng)態(tài)庫(kù)的區(qū)別 首先來(lái)看什么是庫(kù),庫(kù)(Library)說(shuō)白了就是一段編譯好的二進(jìn)制代碼腾降,加上頭文件就可以供別...
    吃瓜群眾呀閱讀 11,880評(píng)論 3 42
  • 一拣度、簡(jiǎn)單介紹 1.1. 什么是庫(kù)1.2. 庫(kù)的分類1.3. 靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù) 二、創(chuàng)建靜態(tài)庫(kù) 2.1. 創(chuàng)建.a 靜...
    C丶丶H閱讀 692評(píng)論 1 1
  • 一螃壤、靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的區(qū)別 靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)是相對(duì)編譯期和運(yùn)行期的抗果,在存在形式上,靜態(tài)庫(kù)是以 .a 和 .framew...
    CMD獨(dú)白閱讀 254評(píng)論 0 3
  • 雨是一種讓人充滿浪漫但又讓人討厭的事物奸晴,看雨對(duì)于現(xiàn)代都市人來(lái)說(shuō)實(shí)在是一件奢侈之事冤馏。不知從哪一天起,我...
    沛沛沛沛沛沛閱讀 338評(píng)論 0 1