iOS 靜態庫製作方法

2021-07-13 18:05:42 字數 1689 閱讀 7960

庫是程式**的集合,是共享程式**的一種方式

根據源**的公開情況,庫可以分為 2 種型別

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

比如 sdwebimage 、 afnetworking

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

主要分為:靜態庫、動態庫

靜態庫: .a 和 .framework

動態庫: .dylib 和 .framework

靜態庫:鏈結時,靜態庫會被完整地複製到可執行檔案中, 被多次使用就有多份冗餘拷貝 (左圖所示)

動態庫:鏈結時不複製,程式執行時由系統動態載入到記憶體,供程式呼叫,系統只載入一次,多個程式共用,節省記憶體 (右圖所示)

需要注意的是:

新建專案-> 選擇 「cocoa touch static library」

新增庫需要包含的源**

將李明杰老師的重新整理框架mjrefresh拖入工程

選擇需要暴露出來的 .h 檔案, .m 檔案會自動編譯到 .a 檔案中

選擇真機裝置,然後 command+b 編譯, libmjrefresh.a 檔案從紅色變為黑色

選擇模擬器,依然 command+b ,模擬器和真機環境下用的 .a 檔案是分開的

右擊 「show in finder」 ,檢視製作好的 .a 檔案

在終端輸入指令

1

lipo -create debug-iphoneos/libmjrefresh.a debug-iphonesimulator/libmjrefresh.a -output libmjrefresh.a

ps:如果不成功,三個檔案全部使用全路徑即可成功

.a 檔案的體積(一般情況下)

通過 lipo –info libmjrefresh.a 可以檢視 .a 的型別(模擬器還是真機)

如何使用 .a

直接將 .a 、 .h 、資源檔案拖拽到其他專案中即可

CRAMFS製作方法

1.編譯cramfs製作工具mkcramfs a.解壓cramfs 1.1.tar.bz2,產生cramfs 1.1資料夾 b.使用終端進入cramfs 1.1資料夾,執行make,編譯cramfs製作工具 c.編譯產生mkcramfs和cramfsck兩個工具,將這兩個工具複製到 usr bin目...

盆景製作方法

山水盆景是運用移天縮地 以小見大的藝術手法,根據 一峰則太華千尋,一勺則江湖萬里 的原則來造型和布局的。山水盆景以山為主,成功的石山必須是既具形態美和雄偉的山勢,又有皺 瘦 透 漏之妙。皺 就是要求石上表面有紋理,皺褶得有規律,不宜平滑 瘦 就是要求石塊稍長,頂端較寬有稜角,不宜臃腫 透 就是指石塊...

國標網線製作方法

第七代系統使用國標直通線,兩種標準都可用 rj 45聯結器的線排列有兩種方法,分別是568b和568a,我們常用 568b方式,排列見下圖 實際上在10m 100m網路中,僅僅使用12 36 這四根線,1000m網路要用所有的。兩邊使用同樣標準的線稱為直通線 可以用於七代系統 用於pc到hub普通口...