在制作SDK有时需要引入第三方的内容,比如需要集成第三方登录,弹窗框架等,这种情况下我们需要怎么处理呢?下面我们以SDK中引入SVProgressHUD为例来做演示,其余的第三方内容可以参照使用.
1.制作SDK
SDK的制作在我的https://www.jianshu.com/p/f56704a900ce这篇文章中有详细讲解大家可参照一下
2.引入SVProgressHUD
这里我们使用cocoapod引入,与正常项目使用pod方式相同
集成完成之后是这样的,然后使用第一步的方式编译出SDK,
注意:这里编译出的SDK是不包含SVProgressHUD源码的(我们也不需要),编译的过程中可能会报找不到源码的错误,我们不用在意它,因为我们的目的就是不把第三方的源码编译进去.
3.使用
将SDK添加到需要使用的工程中,这时候调用demo中的show
方法是会报错的,因为我们的SDK中并没有SVProgressHUD的源码,所以在使用SDK时我们要引入SDK所依赖的框架
注意
我们为什么不将第三方的源码直接添加到我们的SDK中呢?
因为如果我们的SDK和使用我们SDK的工程都引用了同样的第三方时会有冲突,基于这一点我们也有另一种解决方案,在第三方源码很少的情况下我们可以通过修改第三方源码的类名,文件名,方法名的方式来修改第三方的源码.修改之后就不会有冲突,但是这样的方式不建议使用
具体内容较为简单就不放源码了,如有需要的朋友可以私信我.