iOS開發(fā)之制作framework

iOS開發(fā)之制作framework

什么是framework

Framework是資源的集合,將靜態(tài)庫(kù)(iOS8以后可以是動(dòng)態(tài)庫(kù))和其頭文件包含到一個(gè)結(jié)構(gòu)中,讓Xcode可以方便地把它納入到你的項(xiàng)目中。

分為真機(jī)—Debug(調(diào)試)版本、真機(jī)—Release(發(fā)布)版本、模擬器—Debug版本、模擬器—Release版本;開發(fā)中一般都打包Release(發(fā)布)版本,將真機(jī)和模擬器版本合并,提供外界。

在項(xiàng)目開發(fā)的過(guò)程中,例如兩個(gè)公司之間業(yè)務(wù)交流,不可能把源代碼都發(fā)送給另一個(gè)公司,這時(shí)候?qū)⑺矫軆?nèi)容打包成framework,別人只能調(diào)用接口,而不能知道其中實(shí)現(xiàn)的細(xì)節(jié)。

framework對(duì)CPU架構(gòu)的支持,首先了解iOS設(shè)備CPU架構(gòu)方面的知識(shí),ARM是微處理器行業(yè)的一家知名企業(yè),arm處理器以體積小和高性能的優(yōu)勢(shì)在嵌入式設(shè)備中廣泛使用,幾乎所有手機(jī)都是使用它的。

模擬器:iphone4s-5 : i386 , iphone5s-6plus : x86_64。

真機(jī):iphone3gs-4s : armv7 , iphone5-5c : armv7s (靜態(tài)庫(kù)只要支持了armv7,就可以跑在armv7s的架構(gòu)上), iphone5s-6plus : arm64。

armv6, armv7, armv7s是ARM CPU的不同指令集,原則是向下兼容的。例如iPhone4S CPU支持armv7, 但它同時(shí)兼容armv6,只是使用armv6指令可能無(wú)法充分發(fā)揮它的特性。

怎么制作framework

我們將自己自定義的一個(gè)控件制作成framwork供別人使用為例,來(lái)展示framework的制作過(guò)程。

1. 打開Xcode創(chuàng)建一個(gè)framework工程。


選擇iOS Framework & Library


以LZControl為例

2. 修改一些配置信息,生成支持所有架構(gòu)的版本。


配置信息

3. 將之前寫好的控件源文件拖進(jìn)工程,并做一些配置,主要是配置一下那些文件要暴露給別人使用,一般頭文件需要暴露,實(shí)現(xiàn)文件不需要。


配置


配置Public

4. 編譯,要分別針對(duì)模擬器和真機(jī)進(jìn)行編譯。


編譯模擬器


編譯真機(jī)

5. 編譯成功就會(huì)在工程的products組下有一個(gè)黑色的xxxxx.framework的文件,如果編譯失敗是紅色的,紅色表示沒(méi)有生成。


找到framework


模擬器以及真機(jī)

6. 制作通用的framework,以上幾步分別生成真機(jī)和模擬器的framework,接下來(lái)生成一個(gè)通用的。


合并一個(gè)


替換原來(lái)的LZControl

7.添加頭文件引用


添加頭文件引用

8.在需要引用的控制器添加頭文件,即可使用


添加頭文
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,024評(píng)論 3 413
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,285評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評(píng)論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,328評(píng)論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,878評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評(píng)論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,098評(píng)論 0 286
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,616評(píng)論 1 331
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,554評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,725評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評(píng)論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 43,971評(píng)論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評(píng)論 1 280
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,339評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,695評(píng)論 2 370

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

  • 當(dāng)今社會(huì),物欲橫流。妄想靠一枝紅玫瑰,一把破吉他就俘獲芳心、占領(lǐng)高地滴筒子們,死了這條心吧你們就給我! ...
    火鍋白丁造閱讀 459評(píng)論 2 0
  • 2.陳亞麗和我交流,讓她一個(gè)遇到困難的妹妹來(lái)找我。因?yàn)樗赣H得結(jié)腸癌了,而且是晚期。亞麗總感覺金剛智慧可以幫助到絕...
    竹林千頃田華閱讀 109評(píng)論 0 0
  • 寫工作報(bào)告或者總結(jié)主要有以下幾個(gè)重點(diǎn): 一、總結(jié)上期工作的成果 二、突出工作中解決的實(shí)際困難 三、遺留問(wèn)題的解決辦...
    huanyingmili閱讀 4,520評(píng)論 0 2
  • 電視劇看的太多,劇中人物都是上層人士,男主總裁級(jí)別,女主白富美,要么就是身懷絕技、深藏不露。 中電視劇的毒太深,總...
    瑤瑤52386閱讀 456評(píng)論 0 0