1.概述:apple的開發(fā),主要提供了兩種庫:一種是靜態(tài)庫,系統(tǒng)自帶的.framework和自己創(chuàng)建的.a文件,主要在編譯時(shí)供調(diào)用;還有一種是動(dòng)態(tài)庫,主要以.dylib結(jié)尾(或直接為.o文件),在運(yùn)行時(shí)創(chuàng)建成.o文件鏈接到工程文件中供調(diào)用。蘋果目前只提供靜態(tài)庫的封裝為主,接下來就介紹.a靜態(tài)庫的封裝。
2.功能:主要有2大用途:1).功能模塊化,便于重用;2).保密源文件內(nèi)部實(shí)現(xiàn),保護(hù)源文件隱私。
3.步驟:創(chuàng)建一個(gè)新的PRoject工程文件->選擇cocoa touch static library->創(chuàng)建供他人調(diào)用的.h和.m文件->以.h和.a文件來配合,用.h文件中提供的接口函數(shù),需要供他人調(diào)用的函數(shù)接口需要暴露在.h文件中->因?yàn)榭蚣苁庆o態(tài)庫,所以最后是編譯生成.a文件->在products中找到文件位置->在需要引用的工程中添加.a文件和相應(yīng)的.h頭文件(注意link binary with library鏈接進(jìn)去)。注:其實(shí).a文件就是.m文件的集合,根據(jù)打包出來的.h文件來調(diào)用里面相應(yīng)的.m文件。
4.示例:1.2.
3.
4
5
6
7.8.
9.
10
5.問題:1).Product->scheme中注意release和debug版本。
2).若編譯后.a文件是紅色的說明沒有成功,可以切換一下模擬器和device工程的目錄生成黑色.a文件。
3).注意,模擬器因?yàn)槭窃?span id="iwvjtn8m0" class="s1">mac下,cpu架構(gòu)是x86的和device的iphone等設(shè)備下arm的架構(gòu)不同,我們可以對(duì)生成的文件進(jìn)行查看lipo -info xxx.a ,若想同時(shí)使用便使用lipo -create .../模擬器/xxx.a .../設(shè)備/xxx.a -output .../輸出位置/xxx.a。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注