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庫

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM