筆者找了很多SDK封裝的資料,沒有一個(gè)講的很完全和詳細(xì)一點(diǎn)的資料湃交,所以決定分享一篇詳細(xì)的經(jīng)驗(yàn)出來亏掀,希望能有助于開發(fā)人員封裝自己的SDK
筆者QQ:1711647013
注:本文只針對(duì)OC語言封裝,Swift敬請(qǐng)期待下一期
一.庫的介紹
強(qiáng)調(diào)幾點(diǎn):
?第一 ?(.dylib庫文件) == (.tdb庫文件)
第二. 自己建立的.framework是靜態(tài)庫角塑,而系統(tǒng)的.framework是動(dòng)態(tài)庫
第三. .a文件和.framework文件的區(qū)別:
? ? ? ? ? 區(qū)別一: .a是一個(gè)純二進(jìn)制文件,.framework中除了有二進(jìn)制文件之外還有很多資源文件
? ? ? ? ? 區(qū)別二: .a不能直接使用,至少要有.h文件配合,.framework文件可以直接使用
? ? ? ? ? 區(qū)別三: ?.framework == .a + .h + sourceFile
二. 生成.framework
步驟
1.利用Xcode,新建工程
自己命名一個(gè)工程名字,我命名為:WeChatSDK
2.設(shè)置參數(shù)
3.新建類,在類中編寫代碼(我這里新建WeChatSpay類己肮,并在類中添加一個(gè)支付方法)
4.設(shè)置Headers
將你要公開的頭文件(.h文件)拖至Public下士袄,通常都是把頭文件放在Public下
要隱藏的放在Private或者Project下,當(dāng)然谎僻,隱藏的頭文件就無法再被引用娄柳。
5.修改Debug模式為Release,選擇close
6. 打包Framework(這里只講一種方法)
選中模擬器, command + b
選中真機(jī),command + b
打開終端命令行:輸入lipo -create
7. 使用Framework
新建工程(注意和上面新建工程不一樣的地方),拷貝上一步最后合成的framework到工程中
三. ?生成.a
1.新建工程(自己命名,這里還以WeChatSDK為例)
2.配置參數(shù)
3.創(chuàng)建bundle文件,名字一般與工程名相同(如果靜態(tài)庫有資源文件要使用艘绍,必須放入.bundle文件)
4.準(zhǔn)備工作已經(jīng)完成赤拒,準(zhǔn)備寫代碼
5.打包.a文件
選中模擬器, command + b
選中真機(jī),command + b
合成:(如下只給合成的界面,具體不懂得可以看.framework中合成的步驟)
6. 使用.a的SDK
總結(jié):筆者使用的Xcode是8.2.1版本,如果有偏差導(dǎo)致找不到方法,請(qǐng)?zhí)砑游恼麻_頭的聯(lián)系方式尋求幫助