iOS OC和Swift混編framework

由于需要將項(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ù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容