ios - 在objective-c模块中使用swift时无法构建Objective-C模块
问题描述
在 iOS 应用程序中,我有一个子项目(不是 cocoapods),其中包含一个 swift 文件和 ObjC 文件(由 swift 文件使用)。XCode 自动创建了一个桥接文件,但无法构建它,因为框架中显然不允许桥接。我使用的解决方法是将objective-c 标头添加到伞形文件中并且它起作用了。现在我需要使用来自 ObjC 的 swift 类。我必须define module
设置为 YES,生成的文件 Framework-Swift.h 。但是当我尝试在objective-c中导入它时,我得到了
无法构建 Objective-C 模块
谷歌搜索后我得到的最接近的是这个答案:
啊,明白了。看起来您正在构建一个混合的 Swift 和 Objective-C pod - 如果是这种情况,Xcode 将尝试在生成的 -Swift.h 标头中导入。您需要手动创建标头并为要公开给 Swift 的 Objective-C 类添加导入。
CocoaPods 自动生成一个伞头文件并将其导入到 .modulemap 中,但 Xcode 在生成 -Swift.h 头文件时不使用它
但我不确定需要手动创建什么标题。关于在objective-c框架中使用swift的任何想法或指针?两种方式?
解决方案
推荐阅读
- python - 在 Rasbian 上使用烧瓶发送电子邮件(温度传感 API)
- ruby-on-rails - 是否可以将 Rails authenticate_with_http_token 与 Roda 应用程序一起使用?
- html - 利用背景颜色
- sql - 创建表中的 SQL 错误:缺少括号
- r - 在 R 中创建 PatientID
- python - 当作为脚本调用时,pdb 附加在子进程上
- excel - 如何在excel中选择字符串中的单元格范围?
- excel - 带参数的子产生错误(编译错误:需要常量表达式)
- python - 将 PNG 或 JPEG 图像转换为 GAN 算法接受的格式
- haskell - 如何将函数调用的值存储到变量中