建議使用.framework,因?yàn)?a不能單獨(dú)用,還要.h;
.framework從本質(zhì)上講是個(gè)文件夾,里面有存在.a和.h。
-
新建工程, 直接選擇.framework靜態(tài)庫;
最初的樣子 -
編譯時(shí), 設(shè)置編譯所有架構(gòu);
Build Active Architecture Only - NO -
默認(rèn)制作的是動(dòng)態(tài)庫, 需要設(shè)置鏈接類型。target -> Build Settings-> 搜索 Mach-o Type ; 改為靜態(tài)庫
Mach-O Type --> Static Library -
新建文件,暴露頭文件。
暴露頭文件
磁盤下的.a文件和頭文件 -
編譯,查看庫信息,看有哪些構(gòu)架
cd進(jìn)入frameworkLib.framework執(zhí)行如下操作:lipo -info 庫名
Snip20170713_28.png 編譯debug(模擬器、真機(jī)),release(模擬器、真機(jī)),四個(gè)版本,合成。
創(chuàng)建測試工程,測試。
- 如果一開始未設(shè)置為靜態(tài)庫,那么默認(rèn)是動(dòng)態(tài)庫,就會(huì)報(bào)錯(cuò);
- 動(dòng)態(tài)庫的使用方式:
如何檢測一個(gè)framework庫是動(dòng)態(tài)庫是還靜態(tài)庫:
執(zhí)行:file 庫路徑,如果出現(xiàn)dynamic ,那就是動(dòng)態(tài)庫。
動(dòng)態(tài)庫使用:
如果沒有在Embedded Binaries處添加,會(huì)報(bào)錯(cuò):Reason: image not found
Snip20170713_29.png