-
新建工程選擇iOS —> Cocoa Touch Framework
image -
進(jìn)入創(chuàng)建好的工程刪除掉自帶的工程同名頭文件
image -
添加所需文件
image
4.TARGETS —> Build Settings 中設(shè)置相關(guān)項(xiàng)
(1).Build Active Architecture Only 設(shè)置為NO的意思是當(dāng)前打包的.framework支持所有的設(shè)備.否則打包時(shí)只能用當(dāng)前版本的模擬器或真機(jī)運(yùn)行.

(2).Build Setting 搜索linking 設(shè)置Dead Code Stripping 為NO是編譯選項(xiàng)優(yōu)化,包瘦身,(可不改) Mach-O Type 選中StaticLibrary (靜態(tài)庫(kù)) Xcode默認(rèn)是動(dòng)態(tài)庫(kù).

(3). 設(shè)置framework最低支持的版本

-
TARGETS —> Build Phases
將需要呈現(xiàn)給來(lái)的頭文件,直接從Project拖到Public中. 不想呈現(xiàn)出來(lái)的.h文件不建議拖到Private中. 放在project中即可image -
在進(jìn)行編譯之前應(yīng)該設(shè)置為release模式
image

7.來(lái)到工程目錄樹,Products下的文件都是紅色的,現(xiàn)在我們選中.framework文件,分別真機(jī)和模擬器運(yùn)行一遍(成功運(yùn)行
然后Show in Finder 找到對(duì)應(yīng)的 .framework文件(上級(jí)目錄可以看出是真機(jī)還是模擬器文件夾)
真機(jī)和模擬器運(yùn)行成功的文件是在這倆個(gè)文件夾內(nèi)的

內(nèi)部分為Debug版本和Release版本,同時(shí)兩者有分為真機(jī)版本和模擬器版本framework(iphoneos后綴代表真機(jī)版本,iphonesimulator后綴代表模擬器)

-
真機(jī)版本和模擬器版本framework合并
(1).查看架構(gòu)信息
打開終端使用命令行 lipo -info 查看framework架構(gòu)信息
真機(jī)版本image
模擬器版本

(2).合并真機(jī)模擬器版本
因?yàn)橐陨汐@取的framework只能在對(duì)應(yīng)的版本上運(yùn)行(即真機(jī)只能在設(shè)備上運(yùn)行模擬器版本只能在模擬器上面運(yùn)行使用)所以需要合并為通用版本
命令行語(yǔ)句:sudo lipo -create (此處請(qǐng)?zhí)顚懻鏅C(jī)AppVest文件路徑) (此處填寫模擬器AppVest文件路徑) -output 自定義合成文件存儲(chǔ)路徑(合成文件的名字AppVest)

根據(jù)以上命令就在相應(yīng)位置生成了新的AppVest文件,然后把這個(gè)新生成的文件拷貝到相應(yīng)的framework中進(jìn)行AppVest文件替換
(3).查看替換后的framework支持全部真機(jī)模擬器架構(gòu)

-
制作好的framework集成使用
把制作好的framework拖入到工程中,引用相關(guān)頭文件,然后初始化進(jìn)行暴露方法調(diào)用image






