准备开发一个SDK,方便各项目统一集成。自己开发的功能封装起来还算容易,但是有时候需要借助一些三方的SDK,我们不能把三方的直接打包进自己开发的SDK中,但是自己的SDK还需要使用三方的功能。下面就说说是如何实现的,个人经验,如有错误欢迎指正。
文章分上下两篇,本篇主要介绍依赖三方SDK的开发方式,上篇在这里:iOS 开发自己的SDK--Cocoa Touch Framework(上)
开发SDK的方式有很多种,本文使用 Cocoa Touch Framework。
-
这种方式容易理解和实现,但是扩展性不够,其他开发方案后续会继续研究。本文写的会尽量详细,以便刚接触SDK开发的朋友快速集成。
主要流程如下
依赖三方SDK开发,准备阶段的所有流程与上篇一致,需要注意的地方在添加三方SDK依赖的时候。比如我们开发的SDK,是对某个三方SDK的封装,那么具体过程如下:
1、导入我们自己的类
2、导入三方SDK:这里要注意,导入三方SDK后,根据三方的要求添加对应的依赖库,但是在 link Binary With Libraries 的地方,要把三方SDK的库删除。如果三方的SDK有bundle文件,在 Copy Bundle Resources 的位置,把Bundle文件也删除。这样在不影响内部使用的同时,编译我们SDK的时候,不会把三方的库也编译进去;
3、编译:做好这些处理后,就可以进行编译了。如果你的依赖库里面有lib开头的dylib动态库,此时应该会报错
** 4、tbd 动态库报错修改:先把原来的.tbd删掉,然后再次添加,这个时候选择add other,在弹出的窗口中按快捷键 shift + command + G 调出finder的前往窗口,输入/usr/lib,然后添加相应的dylib动态库,重新编译即可**
5、生成SDK文件:show in finder 找到我们的framework,此时不要忘了还有三方的SDK,要以外链的形式一起提供给使用方,比如这样:
6、使用:最后我们把整个文件提供给使用方,需要向使用方说明我们外链的三方SDK,使用方在使用时,需要为这些三方SDK做相应配置
7、补充:到这里,简单的SDK制作就介绍完了,上篇比较详细,下篇主要说明依赖三方SDK时的处理,希望本文可以帮助到刚刚接触SDK开发的同学。