組件23-二進(jìn)制:靜態(tài)庫制作(.framework)和測試

建議使用.framework,因?yàn)?a不能單獨(dú)用,還要.h;
.framework從本質(zhì)上講是個(gè)文件夾,里面有存在.a和.h。

  1. 新建工程, 直接選擇.framework靜態(tài)庫;


    最初的樣子
  2. 編譯時(shí), 設(shè)置編譯所有架構(gòu);


    Build Active Architecture Only - NO
  3. 默認(rèn)制作的是動(dòng)態(tài)庫, 需要設(shè)置鏈接類型。target -> Build Settings-> 搜索 Mach-o Type ; 改為靜態(tài)庫


    Mach-O Type --> Static Library
  4. 新建文件,暴露頭文件。


    暴露頭文件

    磁盤下的.a文件和頭文件
  5. 編譯,查看庫信息,看有哪些構(gòu)架
    cd進(jìn)入frameworkLib.framework執(zhí)行如下操作:lipo -info 庫名


    Snip20170713_28.png
  6. 編譯debug(模擬器、真機(jī)),release(模擬器、真機(jī)),四個(gè)版本,合成。

  7. 創(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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