我正在开发一个代码在 Objective-C 和 Swift 3.2 中的项目,
我正在从需要扩展 MFMailViewControllerDelgate 的 Swift 文件发送邮件
但是当我构建项目时出现错误
在 Swift 头文件中找不到“MFMailComposeViewControllerDelegate”的协议声明
在下面的代码部分
@interface EmailManager (SWIFT_EXTENSION("targetname"))
<MFMailComposeViewControllerDelegate>
- (void)mailComposeController:(MFMailComposeViewController *
_Nonnull)controller didFinishWithResult:(MFMailComposeResult)result
error:(NSError * _Nullable)error;
@end
为了解决错误,我编辑了 swift 头文件并手动添加<MessageUI/MessageUI.h>
,一切正常。但是当在项目中进行新的更改或添加新的 Swift 文件时,这个自动生成的文件会被重置并且我再次收到错误。
请提出一些永久的解决方案
仅供参考:在自动生成文件中有@import MessageUI
在构建设置中有MessageUI
框架在构建设置定义模块设置为是忽略代码片段中的目标名称