1. 程式人生 > >iOS Framework的建立

iOS Framework的建立

環境:Xcode 8

1.建立framework

WX20170602-135146.png

WX20170602-155910.png

2.修改相關配置

1)設定SDK適配的iOS系統版本號

WX20170602-155552.png

2)選擇性新增: armv7s

原因:
armv6, armv7, armv7s是ARM CPU的不同指令集,
armv6裝置:iPhone, iPhone2, iPhone 3G,第一代、第二代iPod Touch;
armv7裝置:iPhone 3GS,iPhone 4,iPhone 4S,iPad ,iPad 2,iPod Touch 3G,iPod Touch 4;
armv7s裝置:iPhone 5,iPad4;
arm64裝置:iPhone 5S,iPad Air,iphone6,iphone6plus,iPhone6s,iPhone6s Plus,iPhone7,iPhone7 Plus等;
  
  Xcode6更新後,預設不支援armv7s,如果你提供的Framework預設不支援armv7s架構,但是使用者要支援armv7s架構,這時就會有衝突,所以需要你選擇性是否支援armv7s
WX20170602-135445.png

3)”Build Active Architecture Only” 設定為 “NO”

設定為NO的時候,會編譯支援的所有的版本
設定為YES的時候,是為Debug的時候速度更快,它只編譯當前的architecture 版本
WX20170602-135521.png

4)”Mach-O Type” 設定為 “Static Library”

framework可以是動態庫也可以是靜態庫,對於系統的framework是動態庫,而使用者製作的framework只能是靜態庫。
WX20170602-135709.png

5)根據SDK功能需要,來決定是否保留原標頭檔案,個人習慣刪掉重新建立一個繼承自NSObject的檔案

WX20170602-135742.png

WX20170602-140646.png
將自己建立的需要開放的檔案拖入到 Public
WX20170602-140106.png

6)分別在模擬器和真機環境下編譯SDK,在Products資料夾下選中打出來的包,show in finder ,回退一個目錄,即可看到兩個資料夾(Debug或Release模式自選)

WX20170602-143833.png

7)使用終端合併SDK

命令列語句:sudo lipo -create 真機SDKTest檔案路徑(步驟6中的圈起來的檔案) 模擬器SDKTest -output 自定義合成檔案儲存路徑(合成檔案的名字SDKTest)

WX20170602-144855.png

注:framework相關問題