iOS OC和Swift混編framework

由于需要將項目作為sdk提供給別的app,故需要將app打包為靜態framework(我們以它為例,也可其他形式)

打包為sdk的過程中遇到了一些,記錄一下,項目是OC和Swift混編

1、資源文件打包為bundle,sdk中的文件使用資源的地方都要改為從這個bundle中獲取

2、靜態framework中不能存在橋接文件(XXX-Bridging-Header.h)

3、在sdk內部,OC代碼引用Swift文件,Swift類需要open或者public來修飾,并且OC文件需要引入頭文件xxx-Swift.h

4、在sdk內部,Swift代碼引用OC文件

? ? ? ①需要將OC頭文件設置為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

未完待續...

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容