准备开发一个SDK,方便各项目统一集成。自己开发的功能封装起来还算容易,但是有时候需要借助一些三方的SDK,我们不能把三方的SDK直接打包进自己开发的SDK中,但是自己的SDK还需要使用三方的功能。下面就说说是如何实现的,个人经验,如有错误欢迎指正。文章分上下两篇,本篇主要介绍不依赖三方SDK的开发方式,下篇iOS 开发自己的SDK--Cocoa Touch Framework(下)
开发SDK的方式有很多种,本文使用 Cocoa Touch Framework。
-
iOS框架下的 Cocoa Touch Framework
这种方式容易理解和实现,但是扩展性不够,其他开发方案后续有需要会继续研究。本文写的会尽量详细,以便刚接触SDK开发的朋友快速集成。
主要流程如下
1、创建SDK工程 - MySDK
创建好的工程
2、工程文件:工程会自动生成一个.h文件
这个文件的主要作用是添加我们SDK中想对外暴露的头文件,但是我们一般不使用,开发时会直接把需要提供给外界的头文件添加至 public 组,后面会说明
自动生成的.h
so 直接删掉即可,工程目前白白净净
3、添加类:将自己封装好的功能添加到工程中
此时我们的framework还是红色的,即还未进行编译(这里封装SDK的方式,是将开发好的类添加到SDK工程中,也可以开一个workspace,边开发边测试,此处不详细介绍)
4、版本设置:设置最低支持版本
5、类型修改:由于我们创建的是静态库,默认创建的是动态库,需要对类型做修改
6、设置对外的接口:将需要暴露的头文件添加到public组
7、编译:此时即可编译工程,生成我们需要的framework。
需要注意的是:创建的framework分真机和模拟器两种环境,所以要选择不同的设备分别编译,可以通过命令将这两个文件合成,同时支持真机和模拟器。
支持真机
8、查看:选中工程中的framework,show in finder 就可以找到编译后的的framework,此时就可以使用了,主要包含的文件如下:
9、导出,测试:新建工程,测试刚刚创建的framework,添加方式与导入其他SDK相同
10、补充:
- 严格来说,我们创建的framework分四种类型,模拟器的Debug和Release,真机的Debug和Release,看具体需求选择对应的类型即可。
- 版本合并可以使用终端通过命令实现。
- 实际开发中的SDK功能要比演示的demo复杂的多,本文只做整体介绍。
- Framework可以添加其他资源,比如图片,Xib等,创建bundle文件即可,这些比较容易实现,不做详细说明。
- 以上即为不依赖三方SDK创建Framework的方式。
网友评论