SDK開(kāi)發(fā)中解決sdk和app項(xiàng)目中都使用某個(gè)第三發(fā)庫(kù)引發(fā)的沖突

前言:

? ? ? ? 在第一篇介紹常見(jiàn)錯(cuò)誤中提到一個(gè)如果你的SDK中使用了afn這個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù),然后你接入SDK的app中也要使用afn進(jìn)行網(wǎng)絡(luò)請(qǐng)求,那么就會(huì)報(bào)錯(cuò),提示都同時(shí)使用了afn相關(guān)文件,那么如何解決呢?


方法一:(僅作了解)

? ? ? ? 將SDK里面使用的afn的文件都加上一個(gè)前綴,相當(dāng)于SDK里面的afn實(shí)行了afn的所以功能但是跟APP里面的afn已經(jīng)不是同一個(gè)資源包了,這樣就不會(huì)沖突了。這種方式對(duì)與文件很少的第三發(fā)庫(kù)可以使用,但是弊端還是很多,如果第三發(fā)庫(kù)更新了又要重新改,所以這種方法僅做了解,不推薦使用。


方法二:(推薦方法)

? ? ? ? 1. 將afn拖到SDK里面的時(shí)候按如下方式勾選,這樣的方式SDK工程僅僅是對(duì)afn進(jìn)行了引用,而不是將afn的資源包c(diǎn)opy到SDK工程里面,所以SDK工程里面就并不會(huì)真正的存在afn的資源包(可通過(guò)Show in Finder查看),但是SDK工程又可以使用afn里面的所有文件。

2.然后在使用SDK的時(shí)候,APP工程中就必須還要將afn的資源包拖入到APP工程中,這樣才能正常使用SDK。


擴(kuò)展:有時(shí)候我們?yōu)榱俗孲DK包小一點(diǎn),可以將SDK工程中要使用的第三方的SDK資源包不直接加入到SDK工程中,通過(guò)方法二這種方式放到APP工程中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。