iOS開發(fā)之代碼封裝成靜態(tài)庫(.a文件)

最近因?yàn)楣拘枨螅枰秧?xiàng)目的一部分功能封裝起來。又不能給源碼所以考慮使用靜態(tài)庫的形式,這是接觸iOS開發(fā)差不多一年第一次搞這個(gè)。查了些資料,把一些步驟寫下來。

當(dāng)然這個(gè)真正的難點(diǎn)是在你代碼的一些封裝,這個(gè)需要技術(shù)的積累。我今天主要是打包成.a文件的一些心得。

新建一個(gè)用于靜態(tài)庫的工程或者target,我在工程里面用的是target。用什么其實(shí)無所謂。

屏幕快照 2016-11-22 上午11.17.50.png

屏幕快照 2016-11-22 上午11.18.03.png

這兩個(gè)新建靜態(tài)庫的方法都行。

下一步就需要你公開給開發(fā)者使用的.h文件。


屏幕快照 2016-11-22 上午11.18.41.png

如果有多個(gè)target,需要選中你需要的那個(gè)target。然后在Headers里面把剛剛需要公開的.h文件添加進(jìn)去。在Compile Sources里面把工程里面所有private文件添加進(jìn)去。

到了這一步就可以把代碼打包成靜態(tài)庫了。
靜態(tài)庫有四種類型:

屏幕快照 2016-11-22 上午11.44.25.png

根據(jù)你的需要去編譯對應(yīng)的.a文件。
usr里面就是你暴露出去的.h文件。

在具體編譯的時(shí)候,如果run是debug模式,command B出來的就是debug。release也是一樣的道理。

屏幕快照 2016-11-22 上午11.25.11.png

這樣,.a文件是打包好了。但是還不夠,我們需要把release或者debug模式下真機(jī)和模擬器兩個(gè).a文件合并成一個(gè).a文件。打開你的終端

lipo -create 需要合并的其中一個(gè).a文件路徑 需要合并的另一個(gè).a文件路徑 -output 輸出路徑/文件名.a
屏幕快照 2016-11-22 下午1.58.15.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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