iOS OC 与 Swift 混编

1. XXX-Bridging-Header.h
新建Swift文件时一般会自动提示创建XXX-Bridging-Header.h
文件。如果没有那么自己新建一个 Header 文件,命名为项目名-Bridging-Header.h
2. 打开 Target -> BuildSettings 搜索 Header
User Header Search Paths
填写 $(SRCROOT)
Enable Modules(c and objective-C)
填写 YES
Objective-C Bridging Header
填写 项目名称/项目名称-Bridging-Header.h
⚠️这里是个路径
Objective-C Generated Interface Header Name
填写 项目名称-Swift.h
这里是 OC 引用 Swift 需要用到的。
3. pod 需要修改的地方
Podfile 增加 use_frameworks!
后重新 pod install
1 | target'XXXXX' do |
⚠️并把所有 pod
导入的库 使用 <>
导入 而不是""
例如#import <AFNetworking.h>
⚠️第三库报错大多都是导入方式不对引起的⚠️
4. OC 引用 Swift
在需要的地方导入 #import "项目名-Swift.h"
然后在需要被引用的属性、方法前增加 @objc
⚠️ 项目名-Swift.h 这个是隐藏文件看不到
1 | class XXXViewController: UIViewController { |
5. Swift 引用 OC
把需要引用的文件导入到 项目名-Bridging-Header.h
,即可在 Swift 中引用。
- Post title:iOS OC 与 Swift 混编
- Post author:xxxixxxx
- Create time:2020-12-06 00:00:00
- Post link:https://xxxixxx.github.io/2020/12/06/500-iOS-OC-与-Swift-混编/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
Comments