準(zhǔn)備開發(fā)一個(gè)SDK秀撇,方便各項(xiàng)目統(tǒng)一集成。自己開發(fā)的功能封裝起來還算容易,但是有時(shí)候需要借助一些三方的SDK大溜,我們不能把三方的直接打包進(jìn)自己開發(fā)的SDK中,但是自己的SDK還需要使用三方的功能估脆。下面就說說是如何實(shí)現(xiàn)的钦奋,個(gè)人經(jīng)驗(yàn),如有錯(cuò)誤歡迎指正疙赠。
文章分上下兩篇付材,本篇主要介紹依賴三方SDK的開發(fā)方式,上篇在這里:iOS 開發(fā)自己的SDK--Cocoa Touch Framework(上)
開發(fā)SDK的方式有很多種圃阳,本文使用 Cocoa Touch Framework厌衔。
-
iOS框架下的 Cocoa Touch Framework
這種方式容易理解和實(shí)現(xiàn),但是擴(kuò)展性不夠捍岳,其他開發(fā)方案后續(xù)會(huì)繼續(xù)研究富寿。本文寫的會(huì)盡量詳細(xì)睬隶,以便剛接觸SDK開發(fā)的朋友快速集成。
主要流程如下
依賴三方SDK開發(fā)页徐,準(zhǔn)備階段的所有流程與上篇一致苏潜,需要注意的地方在添加三方SDK依賴的時(shí)候。比如我們開發(fā)的SDK变勇,是對某個(gè)三方SDK的封裝恤左,那么具體過程如下:
1、導(dǎo)入我們自己的類
2搀绣、導(dǎo)入三方SDK:這里要注意飞袋,導(dǎo)入三方SDK后,根據(jù)三方的要求添加對應(yīng)的依賴庫链患,但是在 link Binary With Libraries 的地方授嘀,要把三方SDK的庫刪除。如果三方的SDK有bundle文件锣险,在 Copy Bundle Resources 的位置蹄皱,把Bundle文件也刪除。這樣在不影響內(nèi)部使用的同時(shí)芯肤,編譯我們SDK的時(shí)候巷折,不會(huì)把三方的庫也編譯進(jìn)去;
- 刪除三方SDK的庫文件
3崖咨、編譯:做好這些處理后锻拘,就可以進(jìn)行編譯了。如果你的依賴庫里面有l(wèi)ib開頭的dylib動(dòng)態(tài)庫击蹲,此時(shí)應(yīng)該會(huì)報(bào)錯(cuò)
** 4署拟、tbd 動(dòng)態(tài)庫報(bào)錯(cuò)修改:先把原來的.tbd刪掉,然后再次添加歌豺,這個(gè)時(shí)候選擇add other推穷,在彈出的窗口中按快捷鍵 shift + command + G 調(diào)出finder的前往窗口,輸入/usr/lib类咧,然后添加相應(yīng)的dylib動(dòng)態(tài)庫馒铃,重新編譯即可**
- 修改動(dòng)態(tài)庫
5、生成SDK文件:show in finder 找到我們的framework痕惋,此時(shí)不要忘了還有三方的SDK区宇,要以外鏈的形式一起提供給使用方,比如這樣:
6值戳、使用:最后我們把整個(gè)文件提供給使用方议谷,需要向使用方說明我們外鏈的三方SDK,使用方在使用時(shí)堕虹,需要為這些三方SDK做相應(yīng)配置
7卧晓、補(bǔ)充:到這里叶洞,簡單的SDK制作就介紹完了,上篇比較詳細(xì)禀崖,下篇主要說明依賴三方SDK時(shí)的處理衩辟,希望本文可以幫助到剛剛接觸SDK開發(fā)的同學(xué)。