iOS靜態庫的編譯

2021-06-27 00:19:05 字數 1696 閱讀 8685

在做第三方的sdk的時候常會把自己的類編譯成靜態庫,在提供給開發者使用的是好就能隱藏自己的私密資訊,如私有api、apikey等;

此處將開源的jsonkit類庫編譯成靜態庫,然後再使用我們編譯好的靜態庫來來解析乙個json檔案

1.新建靜態庫工程,選擇framework & library --》next ,命名jsonkitlib

3.此處要特別注意的,因為ios模擬器是基於mac os平台x86架構,ios裝置都是給予arm架構,所以給他們提供的靜態庫也必須對於他們的架構,幸運的是xcode可以同時編譯這兩個架構的庫;

編譯的時候調到ios device ,  product  --> build;  如果調到其他則不能編譯出來靜態庫

4.編譯成功後就會出來libjsonkitlib.a,右鍵選中,show  in finder  ;會有debug-iphoneos和debug-iphonesimulator兩個資料夾下的靜態庫,先讓我們看看用lipo檢視一下檔案型別

乙個是arm架構的  乙個是x86平台的i386架構的;如果我們要在模擬器上執行測試需要拷貝debug-iphonesimulator下的靜態庫,如果需要在執行真機或是真機測試就必須是debug-iphoneos下的靜態庫;

5.現在來測試剛剛編譯的靜態庫,最好將這兩庫都拷貝出來,方便新增使用;新建乙個xcode工程,把jsonkit.h檔案新增到新建工程中,然後在把debug-iphonesimulator下編譯的靜態庫新增進去

6.此處測試**測試使用的是國家氣象局api,返回的是json檔案

[cpp]view plain

copy

- (ibaction)tapjsonpaser:(id)sender    結果

但是有人會覺得這個太麻煩,果斷的將這兩個靜態庫打包成乙個靜態庫使用命令

方法好雖好,但會犧牲空間,檔案會變大,jsonkit原始檔12kb + 177kb,編譯成靜態庫後arm架構的511kb  i386架構的263kb,把它們打包成乙個靜態庫是774kb;

iOS靜態庫的編譯

在做第三方的sdk的時候常會把自己的類編譯成靜態庫,在提供給開發者使用的是好就能隱藏自己的私密資訊,如私有api apikey等 此處將開源的jsonkit類庫編譯成靜態庫,然後再使用我們編譯好的靜態庫來來解析乙個json檔案 1.新建靜態庫工程,選擇framework library next 命...

iOS 編譯WebRTC a靜態庫

編譯的方式,我看了幾個帖子,什麼方法都有,這裡我根據我的需求,說說我的做法。我的主要目的是因為網上找不到.a模式的webrtc的靜態庫,都是framework,所以我才自己編譯的。我的需求很簡單,就是需要.a出來。ios版本的webrtc是有自己的編譯指令碼檔案的,我們在這裡面做些修改就可以,指令碼...

iOS 編譯簡單靜態庫初探

首先宣告,我寫的這些網上都有更詳細的內容,在這裡只是寫下我自己總結的一些重要內容,具體步驟如下 事先準備 新建工程 framework library cocoa touch static library next 1 編譯適用於真機 arm 的.a檔案 2 編譯適用於模擬器 i386 的.a檔案 ...