最近項(xiàng)目臨近完成之際,需要把整體功能及網(wǎng)絡(luò)請(qǐng)求這塊做個(gè)sdk,如是乎開始了我的第一次打包之旅,遇到不少坑,所以做一個(gè)記錄吧。
按照常規(guī)流程走,其實(shí)打個(gè)包應(yīng)該是很容易的一件事情,我也是照著網(wǎng)上的流程走了一遍,倒是遇到了不少問題。因?yàn)槲乙虻陌锖械谌?,如果不然外面用也就算了,可是我感覺我外面還是會(huì)用的,所以說第三方需要暴露一下,期間就產(chǎn)生了一些問題。
先走一波流程吧:

再做一些相應(yīng)的配置。







再就將自己的功能文件以及第三方文件拖進(jìn)去:

然后繼續(xù)走流程:






然后就是運(yùn)用終端命令將兩個(gè)庫(kù)合二為一 : lipo -create iphoneos下frameworkTest的路徑 simulator下frameworkTest的路徑 -output 新的路徑

執(zhí)行命令后會(huì)生成一個(gè).lipo文件:

將生成的.lipo改名為靜態(tài)庫(kù)名,拖進(jìn)隨便一個(gè)framework覆蓋原來的,產(chǎn)生的新的framework就是你的靜態(tài)庫(kù)了。

這樣就就可以拿去用了,流程大概就這么走完了。說說我遇到的問題吧,比如我這里想要暴露XMNetworking,我將這個(gè)頭文件暴露出去了,當(dāng)我打完包引用的時(shí)候,直接就報(bào)錯(cuò)了,原因是找不到一些頭文件。
因?yàn)檫@里緊緊只是暴露XMNetworking.h是不夠的,只要你暴露的頭文件中引用了的頭文件你都需要暴露出去,不然都會(huì)找不到。
當(dāng)我搞定這個(gè)問題的時(shí)候,又遇到了新的問題,有些方法竟然也找不到,說我發(fā)了無法識(shí)別的方法,我不打包的時(shí)候明明是用的好好的,打完就找不到那方法我也是醉了,后面發(fā)現(xiàn)了,是第三方一個(gè)對(duì)象調(diào)的方法不是他自己的方法,而我這個(gè)第三方什么都沒有暴露出來,所以就找不到了,這個(gè)時(shí)候要換成這個(gè)對(duì)象自己的方法或者暴露這個(gè)三方才行。
如果打包的庫(kù)里有分類,記得引用的時(shí)候要-ObjC。
第一次打包靜態(tài)庫(kù),小小的記錄,小小的總結(jié)一下。