1. 程式人生 > >iOS 建立靜態檔案庫及使用

iOS 建立靜態檔案庫及使用

一、建立.a庫檔案及其使用

1.新建工程,選擇Static Library: 

      這個時候.a檔案顯示是紅色的,因為庫還沒有生成;

2.在工程中建立新的類及自己的實現方法;

3.修改專案配置:在配置Build Phases>Copy File中選擇新增所有的.h檔案,

4.修改編譯指令集:Build Settings>Architectures>Build Active Architecture Only 中的Release為NO,

模擬器:iPhone4s~5 : i386 iPhone5s~6plus : x86_64
真機:iPhone3gs~4s : armv7 iPhone5~5c : armv7s iPhone5s~6plus : arm64

如果設定為YES,那麼編譯出來的.a靜態庫就只包含當前裝置的指令集;設定為NO,則會把所有指令集的都打包合併。

注:如果靜態庫中有category類,則在使用靜態庫的專案配置中【Other Linker Flags】需要新增引數【-ObjC]或者【-all_load】。

5.編譯:Command+B編譯後,libMySDK.a就變成了黑色;

  這時可以看到Products目錄下有【Release-iphoneos】和【Release-iphonesimulator】兩個檔案件。前者裡面是真機使用的.a靜態庫,後者是模擬器使用的.a靜態庫;

通過命令可以將模擬器使用的靜態庫與真機使用的靜態庫合併成一個靜態庫:

      lipo -create 第一個.a檔案的絕對路徑 第二個.a檔案的絕對路徑 -output 最終的.a檔案路徑。

6.將生成的libMySDK.a庫及.h檔案匯入到工程中就可以使用了: