在iOS应用程序中,我有一个子项目(不是cocoapods),其中包含一个swift文件和ObjC文件(该swift文件使用)。 XCode自动创建了桥接文件,但由于在框架中不允许进行明显的桥接,因此无法构建它。我使用的解决方法是将Objective-C标头添加到伞形文件中,并且可以正常工作。现在,我需要使用ObjC的swift类。我将define module
设置为YES,即生成的文件Framework-Swift.h。但是当我尝试将其导入Objective-C时,我得到了
无法构建Objective-C模块
经过一些Google搜索,我得到的最接近的答案是:
啊,真是的。看起来您正在构建混合的Swift和Objective-C pod-如果是这种情况,Xcode将尝试导入 在生成的-Swift.h标头中。 您需要手动创建标题,并为 您想向Swift公开的Objective-C类。
CocoaPods自动生成一个伞形标头并将其导入 在.modulemap中,但是Xcode在生成 -Swift.h标头
但是我不确定需要手动创建什么标题。 关于在Objective-C框架中使用Swift的任何想法或指示吗?两种方式?
答案 0 :(得分:1)
有a great and simple article结束了这种情况:
#import <ModuleName/ModuleName-Swift.h>
文件中使用*.m
(如果需要,请在@class SwiftClass;
文件中使用*.h
前向声明)NSObject
继承您的课程@objcMembers
public
答案 1 :(得分:0)