IOS 各种场景下OC与swift的混编处理汇总

本文详细解析了Objective-C(OC)与Swift混编时在不同层级遇到的问题及解决方案,包括最上层项目、Framework层及跨Framework层的混编技巧。通过实例展示了如何在不同场景下引用OC与Swift代码,提供了桥接文件、头文件导入等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


近期进行项目重构工作,将原先的项目拆分成子framework解耦,因为原项目是OC和swift混编的,遇到了很多framework层的混编问题,总结一下


在最上层项目中混编

swift引用swift

直接互相引用即可

swift引用OC

通过bridge桥接文件

OC引用swift

通过#import “项目名-Swift.h”

OC引用OC

直接#import “类名.h”


在Framework层内混编

swift引用swift

直接使用

swift引用OC

在项目的公共.h中加入需要引用的OC头文件,然后在项目的Build Phases中将其头文件移动到Public中

OC引用swift

#import <项目名/项目名-Swift.h> 如

#import <home_device_add_sdk/home_device_add_sdk-Swift.h>

OC引用OC

直接#import “类名.h”


跨Framework层混编

swift引用swift

添加项目依赖关系
需要import整个新的项目

swift引用OC

添加项目依赖关系
需要import整个新的项目

OC引用swift

添加项目依赖关系
#import <项目名/项目名-Swift.h> 如

#import <home_device_add_sdk/home_device_add_sdk-Swift.h>

OC引用OC

添加项目依赖关系
#import <项目名/类名.h>


上层项目引用Framework时混编

swift引用swift

添加项目依赖关系,然后在引用处添加import语句
import framework名,如

import home_device_add_sdk

swift引用OC

添加项目依赖关系即可

OC引用swift

添加项目依赖关系
#import <项目名/项目名-Swift.h> 如

#import <home_device_add_sdk/home_device_add_sdk-Swift.h>

OC引用OC

添加项目依赖关系
#import <项目名/被引用类名> 如

#import <home_device_add_sdk/HWDevAddResultController.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值