【发布时间】:2019-09-03 05:08:43
【问题描述】:
在 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的任何想法或指针?两种方式?
【问题讨论】:
标签: ios objective-c swift xcode bridging-header