由于需要將項目作為sdk提供給別的app,故需要將app打包為靜態(tài)framework(我們以它為例碑诉,也可其他形式)
打包為sdk的過程中遇到了一些彪腔,記錄一下,項目是OC和Swift混編
1进栽、資源文件打包為bundle德挣,sdk中的文件使用資源的地方都要改為從這個bundle中獲取
2、靜態(tài)framework中不能存在橋接文件(XXX-Bridging-Header.h)
3快毛、在sdk內(nèi)部格嗅,OC代碼引用Swift文件,Swift類需要open或者public來修飾唠帝,并且OC文件需要引入頭文件xxx-Swift.h
4屯掖、在sdk內(nèi)部,Swift代碼引用OC文件
? ? ? ①需要將OC頭文件設(shè)置為public(選中sdk的target->build Phases>headers)?
? ? ? ②sdk公開的.h文件中暴露OC的.h文件(xxxSDK.h中襟衰,#import <xxxSDK/xxxOC.h>)
5贴铜、私有庫需要依賴其他私有庫的話,需要在podspec中加入
Pod::Spec.new do |spec|
? spec.name? ? ? ? = 'xxx'
? #其他條件...
? spec.dependency 'SomeOtherPod'
end
未完待續(xù)...