1. 程式人生 > >iOS開發之-靜態庫

iOS開發之-靜態庫

【靜態庫是什麼】

簡單來說。。。一個靜態庫是若干個類,函式,定義和資源的包裝,你可以將其打包並很容易的在專案之間共享。。。大家平時開發中看到的.a檔案。。。其實也就是一個靜態庫檔案。。。

在開發的過程中我們會發現。。。有時候你匯入了一些第三方框架。。。只看到.h檔案。。。卻找不到.m檔案的蹤跡。。。但是卻可以成功地執行起來。。。這是為什麼呢?

其實。。。那些.m檔案早已被包裝在.a檔案當中。。。

【靜態庫有何作用 | 為什麼要使用靜態庫】

首先。。。在不同專案的開發當中。。。我們也許會用到同樣的幾個類。。。這時候。。。為了節省專案的開發時間。。。我們會把這幾個常用類進行打包。。。當我們又需要用到的時候只要匯入專案當中就可以了。。。

其次。。。你希望你的這幾個類可以跟朋友們一起分享。。。但是又不想讓別人看到你的原始碼。。。(這點私心是很正常的。。。小編偶爾也會有。。。)把它們打包成靜態庫檔案是一個不錯的選擇。。。

綜上所述。。。靜態庫具有以下特點(這也是大家之所以使用靜態庫的原因。。。):

你可以讓一些通用程式碼處在自己的掌控中。。。必要時可以對其進行修復和更改;
你可以跟朋友分享資源。。。同時可以避免別人盜用你的程式碼;
你可以為專案開發節省出更多的時間。。。加快專案的進度;

【如何打包靜態庫檔案】

對於打包靜態庫檔案。。。其流程其實也是比較簡單的。。。

首先開啟我們的Xcode。。。選擇建立一個新的專案工程。。。
但是要注意的是。。。我們要選擇的不再是Application。。。而是選擇Framework&Library下的Cocoa Touch Static Library(如圖)。。。


點選之後。。。在彈出介面中有兩個單選框(Use Automatic Reference Counting和Include Unit Tests)。。。在點選Next之前。。。請確保Use Automatic Reference Counting被選中且Include Unit Tests未選中。。。

點選Next後。。。我們會發現在專案Product資料夾下有一個.a檔案。。。


當你把你要打包的類放入到專案中之後。。。command+B一下。。。然後到本地把.a檔案和.h檔案找出來。。。這樣在之後的專案當中就可以直接使用了。。。

可是。。。到了這一步。。。似乎還有什麼問題。。。

一般情況下。。。模擬器和真機上用的不是同一套靜態庫檔案。。。這就意味著。。。每次需要使用這個靜態庫的時候。。。都要匯入兩個靜態庫檔案。。。