1.先創(chuàng)建一個(gè)項(xiàng)目窄瘟,選擇Cocoa touch Framework虑椎,點(diǎn)擊下一步
2.把自帶的.h文件刪除點(diǎn),再將要打包成的.framework源代碼拖入項(xiàng)目中
3.項(xiàng)目設(shè)置栅哀,選擇工程->targe->build setting会通,在搜索框中搜索linking,進(jìn)行如下設(shè)置
4.把要公開(kāi)的頭文件已到Public中去性雄,在使用.framework時(shí)只能調(diào)用公開(kāi).h文件中的聲明
5.開(kāi)始編譯没卸,選擇Generic iOS Device 或者 真機(jī)枯冈,編譯一下,再選擇模擬器環(huán)境編譯一下
6.上面的操作會(huì)出現(xiàn)兩個(gè)版本的.framework办悟,點(diǎn)擊Products中的framework尘奏,選擇右鍵在文件夾中查看。
7.真機(jī)版本適用于真機(jī)調(diào)試開(kāi)發(fā)病蛉,模擬器版本適用于模擬器調(diào)試開(kāi)發(fā)炫加,將兩個(gè)版本中的 CWen 文件通過(guò)終端合并成通用的,終端指令:lipo -create +上面兩個(gè)文件的路徑 +-output+ 合成后文件的輸出路徑铺然;
8.如果出現(xiàn)下面的提示俗孝,說(shuō)明輸出路徑有相同的名字
9.將合并生產(chǎn)的CWen文件替換真機(jī)生產(chǎn)的CWen.framework中的CWen文件
10.創(chuàng)建一個(gè)新的項(xiàng)目,將替換后的CWen.framework引入到項(xiàng)目中
11.接著在工程的search path中加上此framework的Headers的路徑
12.按下Command + R進(jìn)行編譯魄健,沒(méi)有錯(cuò)誤的話在開(kāi)發(fā)中引入.framework中的頭文件就可以使用了赋铝,下面是我在集成框架遇到的錯(cuò)誤,這種情況是編譯沒(méi)有錯(cuò)誤沽瘦,運(yùn)行的時(shí)候就會(huì)報(bào)這樣的錯(cuò)誤革骨,也就是說(shuō)在鏈接的時(shí)候發(fā)生了錯(cuò)誤。
13.解決方法:在tagert中的Other Linker Flags 中加入所需的參數(shù)析恋,一般是這三個(gè):-ObjC良哲、-all_load、-force_load助隧,我添加了第一個(gè)問(wèn)題就解決了筑凫。
14.至此,我的.framework制作和使用就完成了并村,使用過(guò)程:在項(xiàng)目的全局.pch文件中包含了.framework頭文件巍实,剛開(kāi)始編寫(xiě)代碼時(shí)沒(méi)有提示, clear一下再編譯就好了哩牍。遇到的問(wèn)題也就是這些棚潦,后期使用中如果遇到其他的問(wèn)題會(huì)再來(lái)這里補(bǔ)充,剛剛接觸這一塊姐叁,有什么不對(duì)的地方希望大家可以指出瓦盛。
15.問(wèn)題補(bǔ)充:
如果制作的.framework中包含其他第三方框架,而且其他第三方框架中有bundle文件外潜,在拉入的時(shí)候可以忽略這個(gè)bundle原环,制作.framework成功后,可以將這個(gè).framework和剛才那個(gè)bundle文件放入一個(gè)文件夾处窥,再拖入其他項(xiàng)目中嘱吗,或者同時(shí)將.framework和bundle拖入其他項(xiàng)目中