最近有一個新項目享言,需要復(fù)用另外一個項目的模塊匙铡,打包成Framework,可以重復(fù)使用此模塊減少重復(fù)開發(fā)工作量乎澄,又不想讓別人知道代碼的具體實現(xiàn)
1.Xcode 創(chuàng)建一個新工程,使用下面的模版
2.創(chuàng)建功能類
3.項目配置將FrameWork 設(shè)置成靜態(tài)庫
4.設(shè)置需要公開的頭文件螃宙,將需要暴露出來的頭文件放在public下面蛮瞄,隱藏在project 或private 下面的頭文件無法被外部引用
然后需要在TestStaticFrame.h(必須是公開的,否則無法引用)中將你所有要公開的.h引入,不然在使用FramWork時會報警告
5.將?Build Active Architecture Only修改為NO污呼,否則生成的靜態(tài)庫就只支持當前選擇設(shè)備的架構(gòu)裕坊。
6.運行打包
選中任一模擬器 Commend +B
選中真機(Generic iOS Device) ?Commend + B
在工程的Products文件夾下的.framework文件從紅色變成了黑色。編譯成功燕酷,選中 然后Show in Finder籍凝,然后可以看到真機和模擬器都生成了framework
7.通過終端可以將兩個framewrok合并成一個真機和模塊器都可以使用的framework
lipo -create第一個.framework文件的絕對路徑 第二個.framework文件的絕對路徑 -output 最終的文件路徑
將生成的文件拖回上面的一個TestStaticFrame.framework的文件夾中替換之前TestStaticFrame,就生成我們最終的framework
8.使用framework?
新建一個工程苗缩,把我們的靜態(tài)庫拖進去饵蒂,導(dǎo)入頭文件。