最近項目臨近完成之際,需要把整體功能及網絡請求這塊做個sdk规脸,如是乎開始了我的第一次打包之旅寇僧,遇到不少坑,所以做一個記錄吧。
按照常規(guī)流程走贪磺,其實打個包應該是很容易的一件事情,我也是照著網上的流程走了一遍绎签,倒是遇到了不少問題缆毁。因為我要打的包里含有第三方,如果不然外面用也就算了邑狸,可是我感覺我外面還是會用的懈糯,所以說第三方需要暴露一下,期間就產生了一些問題单雾。
先走一波流程吧:
再做一些相應的配置赚哗。
再就將自己的功能文件以及第三方文件拖進去:
然后繼續(xù)走流程:
然后就是運用終端命令將兩個庫合二為一 : lipo -create iphoneos下frameworkTest的路徑 simulator下frameworkTest的路徑 -output 新的路徑
執(zhí)行命令后會生成一個.lipo文件:
將生成的.lipo改名為靜態(tài)庫名硅堆,拖進隨便一個framework覆蓋原來的屿储,產生的新的framework就是你的靜態(tài)庫了。
這樣就就可以拿去用了渐逃,流程大概就這么走完了够掠。說說我遇到的問題吧,比如我這里想要暴露XMNetworking朴乖,我將這個頭文件暴露出去了祖屏,當我打完包引用的時候,直接就報錯了买羞,原因是找不到一些頭文件袁勺。
因為這里緊緊只是暴露XMNetworking.h是不夠的,只要你暴露的頭文件中引用了的頭文件你都需要暴露出去畜普,不然都會找不到期丰。
當我搞定這個問題的時候,又遇到了新的問題,有些方法竟然也找不到钝荡,說我發(fā)了無法識別的方法街立,我不打包的時候明明是用的好好的,打完就找不到那方法我也是醉了埠通,后面發(fā)現了赎离,是第三方一個對象調的方法不是他自己的方法,而我這個第三方什么都沒有暴露出來端辱,所以就找不到了梁剔,這個時候要換成這個對象自己的方法或者暴露這個三方才行。
如果打包的庫里有分類舞蔽,記得引用的時候要-ObjC荣病。
第一次打包靜態(tài)庫,小小的記錄渗柿,小小的總結一下个盆。