无法使用自动生成的 Swift 桥接 header

Can't use autogenerated Swift bridging header

我试图在 Objective-C class 中使用自动生成的 Swift 桥接 header,但是当我尝试包含它时,我在桥接 header。由于 header 是自动生成的,所以根本不清楚我可能有什么问题。

在 Objective-C class 中,如果我声明以下行,我将遇到构建错误 - 没有此行,没有错误并且构建良好:

#import "Oilist-Swift.h"

编辑:我刚刚将 #import "Oilist-Swift.h" 语句移动到导入所有其他 header 之后,现在我只收到与 MFMailComposeViewControllerDelegate 相关的错误,可能还有一个相关错误至 PopupStoreControllerDelegate。以下是现在的所有错误:

Angle brackets contain both a protocol ('PopupStoreControllerDelegate') and a type ('MFMailComposeViewControllerDelegate')

Unknown class name 'MFMailComposeViewControllerDelegate'; did you mean 'MFMailComposeViewController'?
Replace 'MFMailComposeViewControllerDelegate' with 'MFMailComposeViewController'

- (void)mailComposeController:(MFMailComposeViewController * _Nonnull)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError * _Nullable)error;
  Expected a type (MFMailComposeResult)

我已经查找了循环引用,但目前找不到。

任何见解将不胜感激!

现在看来真的很接近了 - 它似乎只是出于某种未知原因对 MFMail 不满意。

如果我导入 MessageUI.h 它现在可以工作了。 (尽管在 class 导入 Swift header 中根本没有使用 MessageUI)。

我想我必须导入 MessageUI,因为它在桥接 header 中被引用并且不包含 MessageUI 内容的定义...

解决方案:

#import <MessageUI/MessageUI.h>
#import "Oilist-Swift.h"