组件化的前提是要有基础组件、功能组件、业务组件这三大块。其中基础组件和功能组件均可以作成SDK,能够供其余APP选择性的调用。git
好比把地图组件单独封装成一个SDK,须要使用地图就加载这个SDK,不须要使用的就不加载。对于所有封装成一个公共库的作法,这样既能实现解耦,又能够减小包的大小。github
业务上较多APP使用了高德地图SDK,此模块属于功能组件,下面把高德地图所有封装到一个SDK里面供给其余APP使用swift
新建Framework组件化
命名Frameworkcode
修改最低支持的版本cdn
导入高德地图SDKblog
添加依赖库(高德地图须要的依赖库)开发
统一导入到GDSDK.h
中get
新建TViewController.swift,适配Swift项目导入(若是没有Swift文件存在,SDK是不能被Swift项目导入的)it
在TViewController中声明MAMapView变量,解决Could not find auto-linked framework问题
编译经过,地图模块SDK集成完毕,下面介绍在项目中使用GDSDK
。
新建项目DituDemo
拖入咱们封装的GDSDK
导入二进制GDSDK
在ViewController中导入GDSDK,并声明遍历mapView,编译经过。至此,地图组件制做完成,其余项目能够导入此SDK开发地图业务方面的功能。
GDSDK制做完成必定记得添加TViewController文件,而且声明MAMapView的变量。这样SDK才会auto link framework
记得添加高德SDK须要的依赖库,若是高德SDK须要更新,记得及时更新须要的依赖库
代码参考GDSDK