iOS開發筆記 靜態庫的製作與使用

2022-08-05 02:06:19 字數 952 閱讀 9649

1、開源庫

* 公開源**,能看到具體實現

*比如sdwebimage、afnetworking

2、閉源庫

* 不公開源**,是經過編譯後的二進位制檔案,看不到具體實現

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開發筆記 TableView的詳細使用

每個section顯示的標題 nsstring tableview uitableview tableview titleforheaderinsection nsinteger section 指定有多少個分割槽 section 預設為1 nsinteger numberofsectionsint...

iOS開發之靜態庫的製作

當你需要和別人分享 但又不想讓別人看到你內部的實現時就需要製作靜態庫,通常用於第三方sdk 下面就分享一下製作靜態庫 a 的過程 1 開啟xcode,新建workspace 2 隨便給workspace取個名字 3 在workspace新建工程 4 選擇靜態庫 5 點選下一步 6 刪除系統自動幫你生...

iOS開發之靜態庫 a的製作教程

簡介 什麼是庫?庫是程式 的集合,是共享程式 的一種方式 根據源 的公開情況,庫可以分為 2 種型別 開源庫公開源 能看到具體實現 比如 sdwebimage afnetworking 閉源庫不公開源 是經過編譯後的二進位制檔案,看不到具體實現 主要分為 靜態庫 動態庫 靜態庫和動態庫 靜態庫和動態...