当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/228088.html

相关文章:

  • 第七章 块为结构建模 P5|系统建模语言SysML实用指南学习
  • java算法学习索引之动态规划
  • ChatGPT重磅升级 奢侈品VERTU推出双模型AI手机
  • mac配置双网卡 mac同时使用内网和外网
  • 深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点
  • C++——const成员
  • 使用阿里云服务器学习Docker
  • 通信原理板块——线性分组码之汉明码
  • Hive 常用存储、压缩格式
  • 搞懂它,就可以把结构体玩活了~
  • 基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(四)
  • dcat admin 各种问题
  • 数据结构与算法(二)动态规划(Java)
  • 颜值实力“C位出道”:起亚EV6综合实力究竟怎么样?
  • 继承和多态_Java零基础手把手保姆级教程(超详细)
  • AI:85-基于深度学习的自然场景生成与渲染
  • Windows电脑训练 RT-DETR 改进算法 (Ultralytics) 教程,改进RTDETR算法(包括使用训练、验证、推理教程)
  • flask框架报错解决方法
  • Ubuntu18.04 安装docker教程
  • 深入理解Git
  • Leetcode_203.移除链表元素—C语言
  • 虹科方案 | 汽车电子电气架构设计仿真解决方案
  • Java6种单例模式写法
  • Direct3D拾取
  • 大洋钻探系列之二IODP 342航次是干什么的?(上)
  • 离散时间系统模型
  • Nginx学习(在 Docker 中使用 Nginx)
  • 【Java】集合(一)单列集合List
  • 实战 | 基于卷积神经网络的蘑菇识别微信小程序
  • 如何选择共享wifi项目服务商,需要注意哪些?