swift和OC混编报错问题

1.'@objc' instance method in extension of subclass of 'xxx' requires iOS 13.0.0

需要把实现从扩展移到主类实现。iOS13一下扩展不支持@objc

2.using bridging headers with framework targets is unsupported 报错

这个错误通常指的是在一个框架目标中使用桥接头是不支持的。在Xcode 11以后的版本中,使用模块化编程的方式进行开发成为了推荐的方式,而桥接头只能在非模块化的代码中使用。

如果你需要在框架中使用Objective-C代码,可以考虑使用模块接口(module interface)代替桥接头文件。模块接口文件是一个描述框架接口的文件,它会自动将Objective-C代码导入到Swift中。

你可以使用以下步骤来替换桥接头文件:

创建一个名为module.modulemap的文件,并将其添加到框架的根目录中。

手搓文件,随便整个更改名称即可

在module.modulemap文件中添加以下内容:

frameworkmodule { umbrella header".h"exportmodule {export* }}

其中,是框架的名称,将其替换为你的框架名称。

将Objective-C头文件添加到umbrella header指令所指定的头文件中。例如,如果你的框架名称是MyFramework,则需要将所有Objective-C头文件添加到MyFramework.h文件中。

在Swift代码中导入你的框架。

importMyFramework

通过使用模块接口来代替桥接头文件,你可以在Swift中更方便地使用Objective-C代码,而无需担心桥接头文件的限制。

参考资料:https://www.jianshu.com/p/08e36574855b

相关推荐
XR1234567882 小时前
办公组网像“看病“:先问诊,再选型
开发语言·php
布莱克6052 小时前
strcpy 函数详解:作用、用法与安全缺陷
c语言·开发语言·c++·安全
软件黑马王子2 小时前
3.单例模式问题1:构造函数
开发语言·单例模式·c#
Freak嵌入式2 小时前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析
java·大数据·开发语言·单片机·嵌入式硬件·硬件架构
Java小白笔记3 小时前
Java中大数据实时归集与指标汇总方案
java·大数据·开发语言
随遇而安zx3 小时前
【地基篇】---Java 8 JVM 知识大纲
java·开发语言·jvm
软件黑马王子3 小时前
4.单例模式问题2:重复挂载
开发语言·单例模式·c#
quantdash_cc3 小时前
批量请求和循环请求有什么区别?从 API 请求次数看量化数据获取的工程设计
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
qq_406981033 小时前
大白话rust系列01注释
开发语言·rust
橘子编程3 小时前
Java邮件发送全攻略:从入门到实战
java·开发语言·spring boot·spring·spring cloud·maven