Xcode整個項目打包成靜態庫

1.項目目錄含有多語言,圖片等內容


image.png

將項目文件分成兩類,一類是純代碼,二類為圖片,多語言等文件
打framework時引入的為下面文件


image.png

2.新建framework


image.png

3.cocoapods導入項目需要的第三方庫,然后將剛才的幾個文件拖入到項目中,創建framework默認會帶FDASDK.h和info.plist文件


image.png

4.引入PCH



5.將build Active architecture only改為NO


image.png

6.將其修改靜態庫
image.png

7.修改代碼,將appDelegate代碼進行抽取成另一個類,將AppDelegate換一個名稱或者新建一個類來對其內容進行抽取封裝,等下需要公開header讓別人引用,別人項目本身有appDelegate,所以換一個名稱,防止沖突,解決代碼爆紅后.
8.公開頭文件,將需要公開被別人用的.h文件從project拖入到public,將所有你公開的文件按要求在FDASDK.h中引入



image.png

9.編譯生成framework,在finder中顯示
image.png

image.png

10.由于之前的只是代碼打包成靜態庫,而對于文件并沒有引入,就算靜態庫導入別人的項目會看不到圖片/文字(非多語言可看到),開始創建bundle,然后你那些圖片多語言文件啥的全部拖進來.


image.png

image.png

11.修改配置,將combine改為NO,刪除installtion Diretory的值,修改skip install為YES

image.png

12.編譯生成bundle資源包


image.png

13.然后我們回到FDASDK framework的工程目錄,因為我們這個時候圖片等資源的路徑都變了,所以我們不能再按原來的方式引用文件和圖片了,再圖片和多語言路徑目前都拼接一個bundle包的路徑.這個時候不要將bundle包拖進來哦,要不然打framework會失敗的.


image.png

image.png

14.拖入第三方framework,配置framework路徑,在build setting中添加第三方framework的路徑,
"${SRCROOT}/FDASDK/WhirlyGlobeSDK/WhirlyGlobe-Maply_Distribution_2_5/WhirlyGlobeMaplyComponent.framework/Headers"


image.gif
image.gif

15.重新編譯framework,這個時候生成的才是我們需要的framework
16.使用方式,創建一個新工程,cocoapods導入framework依賴的庫,1.將bundle包,framework包,第三方framework包,全部拖入到新建項目中,添加第三方framework依賴的系統庫,引入頭文件,使用公開的header內的.h文件

image.gif

image.gif

17.在編譯過程中可能會包應用頭文件找不到的問題,或者報一些其他的小問題,網上找一找都是可以得到解決掉的

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容