由于需要將項(xiàng)目作為sdk提供給別的app,故需要將app打包為靜態(tài)framework(我們以它為例,也可其他形式)
打包為sdk的過程中遇到了一些,記錄一下,項(xiàng)目是OC和Swift混編
1、資源文件打包為bundle,sdk中的文件使用資源的地方都要改為從這個(gè)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、私有庫(kù)需要依賴其他私有庫(kù)的話,需要在podspec中加入
Pod::Spec.new do |spec|
? spec.name? ? ? ? = 'xxx'
? #其他條件...
? spec.dependency 'SomeOtherPod'
end
未完待續(xù)...