1.項(xiàng)目目錄含有多語(yǔ)言,圖片等內(nèi)容
將項(xiàng)目文件分成兩類,一類是純代碼,二類為圖片,多語(yǔ)言等文件
打framework時(shí)引入的為下面文件
2.新建framework
3.cocoapods導(dǎo)入項(xiàng)目需要的第三方庫(kù),然后將剛才的幾個(gè)文件拖入到項(xiàng)目中,創(chuàng)建framework默認(rèn)會(huì)帶FDASDK.h和info.plist文件
4.引入PCH
5.將build Active architecture only改為NO
6.將其修改靜態(tài)庫(kù)
7.修改代碼,將appDelegate代碼進(jìn)行抽取成另一個(gè)類,將AppDelegate換一個(gè)名稱或者新建一個(gè)類來對(duì)其內(nèi)容進(jìn)行抽取封裝,等下需要公開header讓別人引用,別人項(xiàng)目本身有appDelegate,所以換一個(gè)名稱,防止沖突,解決代碼爆紅后.
8.公開頭文件,將需要公開被別人用的.h文件從project拖入到public,將所有你公開的文件按要求在FDASDK.h中引入
9.編譯生成framework,在finder中顯示
10.由于之前的只是代碼打包成靜態(tài)庫(kù),而對(duì)于文件并沒有引入,就算靜態(tài)庫(kù)導(dǎo)入別人的項(xiàng)目會(huì)看不到圖片/文字(非多語(yǔ)言可看到),開始創(chuàng)建bundle,然后你那些圖片多語(yǔ)言文件啥的全部拖進(jìn)來.
11.修改配置,將combine改為NO,刪除installtion Diretory的值,修改skip install為YES
12.編譯生成bundle資源包
13.然后我們回到FDASDK framework的工程目錄,因?yàn)槲覀冞@個(gè)時(shí)候圖片等資源的路徑都變了,所以我們不能再按原來的方式引用文件和圖片了,再圖片和多語(yǔ)言路徑目前都拼接一個(gè)bundle包的路徑.這個(gè)時(shí)候不要將bundle包拖進(jìn)來哦,要不然打framework會(huì)失敗的.
14.拖入第三方framework,配置framework路徑,在build setting中添加第三方framework的路徑,
"${SRCROOT}/FDASDK/WhirlyGlobeSDK/WhirlyGlobe-Maply_Distribution_2_5/WhirlyGlobeMaplyComponent.framework/Headers"
15.重新編譯framework,這個(gè)時(shí)候生成的才是我們需要的framework
16.使用方式,創(chuàng)建一個(gè)新工程,cocoapods導(dǎo)入framework依賴的庫(kù),1.將bundle包,framework包,第三方framework包,全部拖入到新建項(xiàng)目中,添加第三方framework依賴的系統(tǒng)庫(kù),引入頭文件,使用公開的header內(nèi)的.h文件
17.在編譯過程中可能會(huì)包應(yīng)用頭文件找不到的問題,或者報(bào)一些其他的小問題,網(wǎng)上找一找都是可以得到解決掉的