前言:
? ? ? ? 在第一篇介紹常見(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工程中。