? ? OC語言有.h .m 文件組成。靜態庫可以將 .m文件封裝成到個.a文件,第三方應用程序只需要拿到這個.a文件和代碼對應的.h文件即可使用靜態庫中封裝的方法。IOS靜態庫適合去制作第三方提供的SDK。
第一步
1.首先創建一個新的工程,選擇Framework
&Libryary,在選擇Cocoa Touch Static Library 工程名自己定義
2.接下來你會看到自動生成.h和.m文件 可以在.m文件中寫你要的代碼
3.我們來創建一個簡單的代碼
.h文件如下
- (int)addMethod:(int)theFirst :(int)theSecond;
.m文件如下
- (int)addMethod:(int)theFirst :(int)theSecond{
return (theFirst+theSecond);
4.接下來就是編譯生成.a文件了
快捷鍵(command+B)選中真機編譯和選中模擬機編譯對應生成的連個.a文件一個是真機的一個是模擬機的
這時候去資源庫里查找編譯生成的.a文件
找到 前往 然后 按著 option 快捷鍵 你會看到 資源庫 點擊 如圖
資源庫/developer/Xcode/DerivedData/GeberateFaile....../Build/Products/Release-iphoneos(其中Release-iphoneos和Release-iphoneosmulator一個是模擬器的一個是真機的.a文件)
4.接下來就是將你生成的.a文件引入到你想加入的工程中
引入方法:直接將上圖你所看到的include文件夾中所有的.h文件(即include里面全部.h文件)和下邊對應的.a文件直接拖到你的工程中 千萬注意(copy items if needed)
5.添加成功后就可以直接使用了 但是需要注意的是 如果你是選擇模擬器編譯生成的.a文件那么在真機運行的時候是會報錯的 所以為了可以使用真機和模擬器都可以使用.a文件可以合并成為一個.a文件 使用終端合成具體方法如下:
ZXYdeMacBook-Pro:~zxy$ lipo -create /所在路徑/Release-iphoneos/libGenerateFaile.a /所在路徑/Release-iphonesimulator/libGenerateFaile.a -output /Users/zxy/Desktop/libUniversal.a
這樣,就可以合并成一個通用的靜態庫,唯一的缺點是體積要大一點相對于真機和模擬器兩個的總大小 之后將這個靜態庫拖到工程中即可