這篇文章是記錄一下我打包靜態(tài)庫(kù)的過(guò)程誊辉,工程基于Xcode8,新手亡脑,見(jiàn)諒
首先說(shuō)一下.a后綴的靜態(tài)庫(kù)堕澄,分為三種:模擬器使用的邀跃,真機(jī)使用的,模擬器和真機(jī)都能使用的蛙紫。所以拍屑,我們首先需要生成兩個(gè).a文件,分別是模擬器使用的和真機(jī)使用的坑傅,最后僵驰,將兩個(gè)靜態(tài)庫(kù)合并生成新的靜態(tài)庫(kù),這個(gè)模擬器和真機(jī)就都可以使用了唁毒。
-
1蒜茴、創(chuàng)建一個(gè)靜態(tài)庫(kù)工程工程,起一個(gè)名字浆西,最后合并靜態(tài)庫(kù)時(shí)名字是可以修改的
創(chuàng)建靜態(tài)庫(kù)工程.png
屏幕快照 2016-11-23 下午6.06.53.png -
2粉私、創(chuàng)建工程之后,會(huì)自帶一個(gè)與工程同名的類近零。工程創(chuàng)建了诺核,然后就可以寫(xiě)實(shí)現(xiàn)的方法了,記得要把方法名暴露出來(lái)久信,不暴漏出來(lái)方法別人無(wú)法調(diào)用窖杀。
我只是實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的打包流程,.m文件實(shí)現(xiàn)此方法裙士,計(jì)算參數(shù)a和參數(shù)b的和
簡(jiǎn)單介紹一下這張圖陈瘦,選擇模擬器,點(diǎn)擊打包按鈕(或者shift+command+B)潮售,會(huì)生成libALibraryTest.a文件痊项,"Show in Finder",找到它單獨(dú)保存一下酥诽,最后合并的時(shí)候會(huì)用到
打包模擬器文件.png -
3鞍泉、選擇此狀態(tài),打包肮帐,會(huì)生成真機(jī)上可以運(yùn)行的靜態(tài)庫(kù)
打包真機(jī)文件.png - 4咖驮、接下來(lái),取出兩個(gè)靜態(tài)庫(kù)文件训枢,合并成模擬器和真機(jī)狀態(tài)下都可以編譯的靜態(tài)庫(kù)道伟。打開(kāi)終端,輸入下面一行命令玄捕,路徑自行替換
lipo -create 隨便一個(gè)靜態(tài)庫(kù)路徑 另外一個(gè)靜態(tài)庫(kù)的路徑 -output 最終合并之后生成的靜態(tài)庫(kù)的路徑(可以自己定義名字车胡,后綴一定a)
最簡(jiǎn)單的靜態(tài)庫(kù)就打包出來(lái)了,看一下我們的成果
將合并靜態(tài)庫(kù)以及.h文件導(dǎo)入我們的項(xiàng)目當(dāng)中十酣,調(diào)用此方法涩拙,打印一下际长,驗(yàn)證通過(guò),我實(shí)現(xiàn)的方法沒(méi)有錯(cuò)誤兴泥。
注:假如你的這個(gè)靜態(tài)庫(kù)文件是對(duì)別的靜態(tài)庫(kù)進(jìn)行封裝工育,那么你就會(huì)用到我的這個(gè)注意事項(xiàng):
第一個(gè)框:如果多個(gè)類,可以將.h文件添加到這搓彻,生成靜態(tài)庫(kù)時(shí)會(huì)將這里面的文件拷貝一份到靜態(tài)庫(kù)同級(jí)的文件夾里面如绸,如:
第二個(gè)框:如果你封裝你的靜態(tài)庫(kù)時(shí)會(huì)用到別人的靜態(tài)庫(kù),那么請(qǐng)將第二個(gè)框里面的靜態(tài)庫(kù)刪掉(點(diǎn)擊"-"旭贬,不要把工程里面的庫(kù)刪了)怔接,那么只要用到你的靜態(tài)庫(kù)時(shí),就需要添加兩個(gè)骑篙,甚至多個(gè)庫(kù)文件蜕提,這樣也會(huì)減少很多不必要的麻煩
謝謝,我的流程走通了靶端,寫(xiě)這篇文章也是借鑒了各位大神的文章谎势,如下,謝謝
iOS開(kāi)發(fā)拓展篇—靜態(tài)庫(kù)
iOS庫(kù) .a與.framework區(qū)別
iOS中靜態(tài)庫(kù).a杨名、資源庫(kù).bundle脏榆、.framework的區(qū)別
關(guān)于打包制作屬于自己的framework
iOS生成靜態(tài)庫(kù)方法-iOS集成靜態(tài)庫(kù)-iOS合并靜態(tài)庫(kù)
iOS將多個(gè)第三方sdk打包成靜態(tài)庫(kù)
iOS開(kāi)發(fā)——?jiǎng)?chuàng)建你自己的Framework
iOS 封裝SDK