iOS Framework製作流程
-
新建工程選擇iOS —> Cocoa Touch Framework
361510885491_.pic_hd.jpg
-
進入建立好的工程刪除掉自帶的工程同名標頭檔案
371510885576_.pic_hd.jpg
-
新增所需檔案
WechatIMG6.jpeg
4.TARGETS —> Build Settings 中設定相關項
(1).Build Active Architecture Only 設定為NO的意思是當前打包的.framework支援所有的裝置.否則打包時只能用當前版本的模擬器或真機執行.
[圖片上傳中...(401510886919_.pic_hd.jpg-102a63-1524648422621-0)]
(2).Build Setting 搜尋linking 設定Dead Code Stripping 為NO是編譯選項優化,包瘦身,(可不改) Mach-O Type 選中StaticLibrary (靜態庫) Xcode預設是動態庫.
401510886919_.pic_hd.jpg
(3). 設定framework最低支援的版本
431510887389_.pic.jpg
-
TARGETS —> Build Phases
將需要呈現給來的標頭檔案,直接從Project拖到Public中. 不想呈現出來的.h檔案不建議拖到Private中. 放在project中即可411510887052_.pic.jpg
-
在進行編譯之前應該設定為release模式
螢幕快照 2017-11-17 上午10.51.26.png
421510887128_.pic.jpg
7.來到工程目錄樹,Products下的檔案都是紅色的,現在我們選中.framework檔案,分別真機和模擬器執行一遍(成功執行
然後Show in Finder 找到對應的 .framework檔案(上級目錄可以看出是真機還是模擬器資料夾)
真機和模擬器執行成功的檔案是在這倆個資料夾內的
螢幕快照 2017-11-17 上午10.59.22.png
內部分為Debug版本和Release版本,同時兩者有分為真機版本和模擬器版本framework(iphoneos字尾代表真機版本,iphonesimulator字尾代表模擬器)
螢幕快照 2017-11-17 上午10.59.55.png
-
真機版本和模擬器版本framework合併
(1).檢視架構資訊
開啟終端使用命令列 lipo -info 檢視framework架構資訊
真機版本461510887947_.pic_hd.jpg
模擬器版本
451510887921_.pic_hd.jpg
(2).合併真機模擬器版本
因為以上獲取的framework只能在對應的版本上執行(即真機只能在裝置上執行模擬器版本只能在模擬器上面執行使用)所以需要合併為通用版本
命令列語句:sudo lipo -create (此處請填寫真機AppVest檔案路徑) (此處填寫模擬器AppVest檔案路徑) -output 自定義合成檔案儲存路徑(合成檔案的名字AppVest)
481510888572_.pic_hd.jpg
根據以上命令就在相應位置生成了新的AppVest檔案,然後把這個新生成的檔案拷貝到相應的framework中進行AppVest檔案替換
(3).檢視替換後的framework支援全部真機模擬器架構
491510888890_.pic_hd.jpg
-
製作好的framework整合使用
把製作好的framework拖入到工程中,引用相關標頭檔案,然後初始化進行暴露方法呼叫501510889001_.pic_hd.jpg