組件化的前提是要有基礎組件、功能組件、業務組件這三大塊。其中基礎組件和功能組件均可以作成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