Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths

OC中使用Swift类看这里OC中使用Swift

> 如果项目是Swift项目,想引用OC写的类库时,需要创建桥接文件。 桥接文件创建有两种方法:

1、直接在swift项目中创建oc的类,会弹出提示没直接选择创建桥接文件,Xcode会自动帮你创建好并进行配置。

Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths_第1张图片

2、自己手动创建并配置,名字自己起,

Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths_第2张图片
然后进行配置,Target->Build Setting->Objective-C Bridging Header中添加
项目名/XXX.h ,
PS:只需要从工程目录下开始添加,不需要绝对路径,注意。
Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths_第3张图片

下面就可以引入OC的头文件了,注意引入的时候是不会提示的。
使用这个文件来导入你想暴露给Swift的你的目标的公共头文件。

Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths_第4张图片

然后就可以按照swift语法直接使用OC中的类了
Swift项目中使用OC混编--创建桥接文件和使用Cocoapods设置User Header Search Paths_第5张图片

> 如果使用cocoapods导入的OC第三方,在安装完第三方和添加好桥接文件后,还要多一步,就是添加头文件索引。

cocoapods安装和使用看这里
target->Build Settings->User Header Search Paths 添加$(SRCROOT)并设置为recursive,这样再在桥接文件中引入第三方头文件就能识别了。

#import "Masonry.h"
#import "BVC.h"

PS:不论是自己手动添加的oc类还是cocoapods安装的oc版本的第三方,其第三方都需要在桥接文件中引入。

Swift文件的头文件引入和全局变量和全局宏定义参考这里

你可能感兴趣的:(Swift4.0,OC)