準備開發一個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 組,后面會說明
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的方式。