1. 程式人生 > >iOS Framework製作流程

iOS Framework製作流程

  1. 新建工程選擇iOS —> Cocoa Touch Framework

     

    361510885491_.pic_hd.jpg

  2. 進入建立好的工程刪除掉自帶的工程同名標頭檔案

     

    371510885576_.pic_hd.jpg

  3. 新增所需檔案

     

    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

  1. TARGETS —> Build Phases
    將需要呈現給來的標頭檔案,直接從Project拖到Public中. 不想呈現出來的.h檔案不建議拖到Private中. 放在project中即可

     

    411510887052_.pic.jpg

  2. 在進行編譯之前應該設定為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

  1. 真機版本和模擬器版本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

  1. 製作好的framework整合使用
    把製作好的framework拖入到工程中,引用相關標頭檔案,然後初始化進行暴露方法呼叫

     

    501510889001_.pic_hd.jpg