版权声明:原创博客转载使用等请获得本人许可 https://blog.csdn.net/wz597002248/article/details/84033295
OC与swift混编
近期进行项目重构工作,将原先的项目拆分成子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>