本文實例為大家分享了iOS制作framework靜態庫教程 ,供大家參考,具體內容如下
環境:
硬件:macbook air
系統:OSX EI Capitan 版本:10.11.3
xcode :Version 7.2.1 (7C1002)
最近在做ios的靜態庫(據說framework動態庫不能上傳到app store).a 和framework都做過了,這裡就先說framework的制作流程:
1.首先在xcode下新建cocoa touch framework工程:
2.新建好工程後,往裡面添加要封裝的代碼,並且把包含公有api的頭包含到自動生成的頭文件裡面
或者到Build Phases下Headers裡面把公有頭文件放到public下
3.在Build Setting——>Linking找到Mach-O Type 把值:Dynamic Library改為:Static Library,缺少這一步生成的framework就是動態庫
4.找到Edit scheme在run——>info下把build configure的值由默認值Debug 改為Release
5.選擇要編譯的硬件環境:分別在Generic IOS Device和 iPhone 6s Plus(選擇最新的模擬器)下編譯一次,編譯完後就可以看到工程的products文件下的xxx.framework由紅色變成黑色(注意:如果只編譯了iphone 6s Plus模擬器,沒有編譯 Generic IOS Device ,那麼xxx.framework還是不會變成黑色)
6.xxx.framework 變成黑色後,選中xxx.framework右鍵show in finder 就可以看到生成的framework靜態庫。分別有Release-iphoneos真機版和Release-iphonesimulator模擬器版,也就是說生成的版本只能分別在各自的硬件環境下使用。
7.合並真機和模擬器版framework靜態庫,這樣就可以在模擬器和真機下使用了,不過要注意生成的靜態庫的大小等於真機版和模擬器版的大小的和,所以要對程序進行縮小時,可以只用其中一個版本
使用xcode自帶的lipo可以合並兩個版本:在終端下使用命令:lipo -create /User/...../release-iphoneos/xxx.framework/xxx /User/...../release-iphonesimular/xxx.framework/xxx -output ./xxx
其中xxx為你的庫的名稱,路徑為生成的靜態庫的路徑,然後把生成的xxx放到真機或者模擬器版的xxx.framework裡面替換裡面原有的xxx庫
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。