iOS组件化开发之不支持use_framework的第三方组件处理

  在进行iOS组件化开发时常常遇到某些供应商或者第三方的组件不支持use_framework。具体原因:第三方库很久没人维护了, 某些供应商其实也是把别人的库包了一层。当然了还有一些别的原因。
  以友盟为例。传统的方法就是使用友盟的库,生成framework,然后将framework封装到自己的组件中。这样做的好处是,大家都想得到,都会做。但是缺点非常的明显,就是升级的时候比较麻烦,由于第三方的framework可能依赖很多的库,或者需要导入不同的库,各种不同的环境配置。这些都需要我们一个个的去设置,非常的麻烦。有没有比较省力的方案呢,答案当然是有的。我这边有一个方案。个人感觉还不错,介绍打给大家。大家如果有更好的方案可以一块交流学习哦。
  我这边就以友盟为例来说明一下。我这边主要是创建一个友盟的抽象组件A,但是这个组件并以不依赖友盟的库,而是提供了友盟里所有的对外暴露的方法,但是不做具体的实现,只是一个空方法。封装为单独的个工具类。其他组件如果需要使用友盟的时候可以依赖抽象组件A,调用里面的抽象方法。在集成到app项目中的时候,在podfile中加入友盟库的引入。同时创建抽象组件库A的单独工具类的category文件,内部用友盟提供的方法具体实现。这样就很好的解决了,不能使用use_framework封装组件的问题,同时友盟如果升级的话,只需要在app工程中执行一下pod update就好了,不用再制作framework了。具体流程如下图:
iOS组件化开发之不支持use_framework的第三方组件处理
更多优质文章,可以微信扫码关注:
iOS组件化开发之不支持use_framework的第三方组件处理