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

未完待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容