SDK的英文全名是:software development kit,翻譯成中文的意思就是“軟件開發工具包”,我個人的理解就是壹個工具包,完全可以理解成開發中我們的壹個公***類。
二、怎麽實現SDK的封裝呢?
1.打開Xcode開發工具創建我們的工具類
註:本文中使用的開發工具為xcode9.3
創建完成後
創建完成後,我們新建兩個繼承於基類的文件,壹個用於封裝網絡請求壹個用於封裝我們需要提供給他人使用的方法以及需要動態改變的參數。
2.網絡請求添加到SDK中壹起封裝
因為我們封裝的SDK有的數據涉及到網絡請求,所以我們封裝的時候,順便把需要用到的網絡請求也封裝進去。
1).使用cocoapods導入第三方庫AFNetWorking
具體使用 見印象筆記內容,包含了使用cocoapods遇到的問題以及解決方法:/shard/s58/nl/10186702/6820a297-24d1-480f-af32-8a054e4d64a6/ ?
2).在封裝的SDK中如果涉及到使用第三方的庫引用的時候,壹定要在.m文件中進行引用
3.做完想要封裝的文件後,開始進行封裝
先進行編輯設置,在product -->Scheme--->Edit Scheme
此處必須是release,不能用debug模式,選擇SDK是在iOS 、tvOS還是watchOS 4上面運行的SDK,在這兒我們選擇iOS
在build Setting裏面 搜索linking 設置Mach-O Type 為 static library
在build Phases --- >headers 中添加需要暴露的類,將Project裏面想暴露的文件.h拖動到Public裏面進行文件暴露
完成所有設置後,我們進行真機編輯和模擬器編輯最後合並成壹個可以在真機和模擬器上運行的第三方SDK,
4.到這壹步我們的SDK封裝就差最後壹步了,合並成能在真機和模擬器上運行的SDK
選中編輯好的包,我這兒是Demo_SDK.framework然後右擊顯示文件內容
找到這兩個文件後,我們開始合並,得到我們想要的SDK
1).打開終端--->輸入lipo -create 加上文件路徑
1.為真機的文件,2為模擬器的文件,3為合並後輸出問的地址
註意:我們所合並的文件是Demo_SDK,並不是所有的文件
合並到處文件為lipo結尾的
更改合並和的文件名稱和合並前文件名稱相同,並且去掉後綴。用合並和的文件替換掉和並前的文件
合並完成後拷貝處我們封裝的SDK,在其他項目中引用就可以了
總結:截圖比較多,為了照顧像我這樣的小白,希望大家理解。第壹次寫,不喜勿噴,這只是作為自己的個人筆記,如果有什麽不對的地方,希望大家指出壹起交流學習,Thanks?(?ω?)?
Demo鏈接:/user/