創建靜態庫Cocoa Touch Static Library

測試環境:Xcode 4.3.2

代碼MyStaticLib, MyStaticLibUse

爲了系統的安全,ios只允許使用靜態庫(靜態連編到程序中),不能用動態庫(程序運行時才加載到內存)。


首先創建靜態庫工程

File -> New -> Project -> Framework & Library -> Cocoa Touch Static Library


實現靜態庫功能

可以像普通的工程那樣開發靜態庫的功能,比如工具類庫的Objective-C類,UIView的派生類等。

編譯靜態庫

對靜態庫工程編譯後,會生成一個.a的文件,有了這個文件就可以在別的工程裏調用靜態庫的功能了。

使用默認的配置編譯工程時,.a文件的輸出路徑是/Users/<USERNAME>/Library/Developer/Xcode/DerivedData/<PROJECT_NAME>/Build/Products
<USERNAME> 當前登陸用戶名
<PROJECT_NAME> 工程名和隨機數組成的名字,如MyStaticLib-embvqdbqyhdytnetybmkgkarszvx

可以修改編譯選項,改變庫文件(.a)的默認輸出路徑。選中工程,打開工程屬性窗口Build Settings, Per-configuration Build Products Path就是輸出路徑。如果修改成Build,庫文件就會輸出到工程所在目錄的Build裏。

調用靜態庫

首先要將靜態庫文件(.a)和相關的頭文件(.h)添加到調用工程裏。因爲.a文件裏是實現代碼,所以需要包含功能聲明的.h文件。

在調用工程裏的任何目錄上點右鍵,選擇Add Files to "工程名",加入.a, .h文件。查看工程屬性Build Phases -> Link Binary With Libraries, 靜態庫.a文件已經在列表裏了,如果沒有可以點加號(+)手動加入。

剩下的代碼調用與調用工程裏其它.m文件就沒什麼區別了。


















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章