標籤:
一、iOS項目中庫的使用 1、開源庫 * 公開原始碼,能看到具體實現 *比如SDWebImage、AFNetworking2、閉源庫 * 不公開原始碼,是經過編譯後的二進位檔案,看不到具體實現 * 主要分為:靜態庫、動態庫(注意自己製作的動態庫不能上傳到appStore) 二、本文首先講的的是靜態庫的製作以及使用 1、建立靜態庫項目 建立靜態庫項目選擇cocoa Touch Static Library 然後編寫核心代碼 2、分別在真機和模擬器下編譯產生對應環境的靜態庫(注意真機檔案夾下得靜態庫只能用於真機上, 模擬器檔案夾下得靜態庫只能用於模擬器下) 3、利用終端指令合成真機、模擬器靜態庫 可以藉助 lipo -info 靜態庫檔案地址 指令查看當前靜態庫支援的平台
可以藉助 lipo -create libdev/lib08-staticDemo.a libPro/lib08-staticDemo.a -output HMTool.a 指令將模擬器和真機的靜態庫合并為一個靜態庫
lipo -create 需要合并的靜態庫1 需要合并的靜態庫2 -output 合并之後的檔案名稱
注意: 雖然將真機和模擬器的靜態庫合并在一起之後, 以後我們就不用關心當前是允許在模擬器還是真機了, 但是如果在程式發布時還是建議大家使用真機的靜態庫. 小 4、圖片資源的處理 如果靜態庫中用到了圖片資源,一般都放到一個bundle檔案中,bundle名字一般跟 .a 或 .framework 名字一致 bundle的建立:建立一個檔案夾,修改副檔名為 .bundle 即可,右擊bundle檔案,顯示包內容,就可以往bundle檔案中放東西 5、靜態庫的注意點 靜態庫中包含了Category 如果靜態庫中包含了Category,有時候在使用靜態庫的工程中會報“方法找不到”的錯誤(unrecognized selector sent to instance) 解決方案:在使用靜態庫的工程中配置Other Linker Flags為-ObjC
iOS開發筆記--靜態庫的製作與使用