swift framework 使用 OC 代码

swift 在工程中可以通过桥接文件使用OC代码,但是在framework中是不支持使用桥接文件的,下面是是swift framework 使用 OC 代码的两种方式。 ######第一种:在target->Build Phases->Headers中,将引入的oc文件由project移动到public中,再在公共.h文件中引入即可使用。 ######第二种:第一种方法的swiftframework会暴露oc的头文件,如果你的Objective-C文件和接口并不想暴露可以采用modulemap。 ######1. 新建一个module.modulemap文件:创建一个.h文件修改名字和后缀即可。 ![image.png](https://upload-images.jianshu.io/upload_images/1352014-a5b373602504aa50.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ``` module WFAVEngineKit { header "./Pods/GOWFAVEngineKit/GOWFAVEngineKit/Frameworks/WFAVEngineKit.framework/Headers/WFAVEngineKit.h" export * } ``` ![image.png](https://upload-images.jianshu.io/upload_images/1352014-4a1e50951fe4a77e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) >######注意:这里的路径是要使用的OC代码相对于modulemap文件的路径 >######(../上一级目录,./当前目录,/根目录) ######2.设置module.modulemap引用路径,在build settings中搜索import paths,输入找到module.modulemap 的文件路径。 ![image.png](https://upload-images.jianshu.io/upload_images/1352014-49740244428e9cb0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](https://upload-images.jianshu.io/upload_images/1352014-d3d89fff60293136.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我的这个module.modulemap文件是在根路径下,直接输入即可。 ######3.swift在需要调用OC代码的地方直接import module名字 ![image.png](https://upload-images.jianshu.io/upload_images/1352014-a9bc82e1c7e60ee2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(swift framework 使用 OC 代码)