- 在 OC 的 .m 文件中
#import "ProductModuleName-swift.h"
- 在
Build Settings
中将Defines Modules
设置为YES
。 - 在 在 OC 的 .m 文件中
#import <ProductName/ProductModuleName-Swift.h>
- .h 内为避免产生循环引用,使用前向声明
@class
、@protocol
使用 swift 的class
和protocol
。
- 创建
Bridging Header
- 在
Bridging Header
中 import 希望暴露给 swift 的 OC 头文件。
- 在
Build Settings
中将Defines Modules
设置为YES
。 - 在
umbrella header
中 import 希望暴露给 swift 的 OC 头文件。
swift在 App Target 内还可以通过创建 modulemap引用 OC 代码
- 创建一个 Group,将待引用的 OC 文件放入 group 内
- 创建一个 header.h, 使用 #import 导入头文件
- 创建一个 module.modulemap 文件,内容如下
module Name { header "Headers.h" export * }