美文网首页iOS SDK 开发傲视苍穹iOS《Objective-C》VIP专题iOS干货
SDK开发中解决sdk和app项目中都使用某个第三发库引发的冲突

SDK开发中解决sdk和app项目中都使用某个第三发库引发的冲突

作者: 伦伦子_f7b3 | 来源:发表于2018-07-03 20:25 被阅读82次

    前言:

            在第一篇介绍常见错误中提到一个如果你的SDK中使用了afn这个网络请求库,然后你接入SDK的app中也要使用afn进行网络请求,那么就会报错,提示都同时使用了afn相关文件,那么如何解决呢?

    方法一:(仅作了解)

            将SDK里面使用的afn的文件都加上一个前缀,相当于SDK里面的afn实行了afn的所以功能但是跟APP里面的afn已经不是同一个资源包了,这样就不会冲突了。这种方式对与文件很少的第三发库可以使用,但是弊端还是很多,如果第三发库更新了又要重新改,所以这种方法仅做了解,不推荐使用。

    方法二:(推荐方法)

            1. 将afn拖到SDK里面的时候按如下方式勾选,这样的方式SDK工程仅仅是对afn进行了引用,而不是将afn的资源包copy到SDK工程里面,所以SDK工程里面就并不会真正的存在afn的资源包(可通过Show in Finder查看),但是SDK工程又可以使用afn里面的所有文件。

    2.然后在使用SDK的时候,APP工程中就必须还要将afn的资源包拖入到APP工程中,这样才能正常使用SDK。

    扩展:有时候我们为了让SDK包小一点,可以将SDK工程中要使用的第三方的SDK资源包不直接加入到SDK工程中,通过方法二这种方式放到APP工程中。

    相关文章

      网友评论

      • 追沐:第二种方法如果用户未集成AF的话,使用SDK会不会出问题呢?
        伦伦子_f7b3:@追沐 那肯定的啊
      • 流年划过颜夕:老哥,第二种方法,你开发的SDK线上运行稳定不,会不会报引用的错?
        伦伦子_f7b3:@流年划过颜夕 有何不稳定的?说说呗

      本文标题:SDK开发中解决sdk和app项目中都使用某个第三发库引发的冲突

      本文链接:https://www.haomeiwen.com/subject/doijuftx.html