iOS 11 beta:从应用程序调用的邮件视图控制器不会发送邮件

iOS 11 beta: Mail View Controller called from app will not send mail

我必须更新企业应用程序以在 64 位 iOS 设备上使用 运行 iOS 11 beta 3。该应用程序会撰写包含特定数据的电子邮件,用户将电子邮件发送到服务器,在服务器上进行处理以提取数据。 (我更愿意通过 TCP 将其发送到服务器,但这不是我的决定。)

该应用程序功能齐全,它将使用特定数据组成电子邮件正文,将其发送到服务器邮箱,并使用顶部的 "Send" 按钮显示视图。但是点击 "Send" 按钮没有任何作用。就此而言,点击 "Cancel" 按钮只会弹出该警报,询问您是否要取消,无论是哪种响应,都不会关闭电子邮件视图。

这是邮件撰写代码:

NSString *strEmailAddress = [[NSUserDefaults standardUserDefaults] objectForKey:kEmailAddress];
NSArray *listOfRecipients = [[NSArray alloc] initWithObjects:strEmailAddress, nil];

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"Equipment Inventory"];
[mailViewController setMessageBody:totalArray isHTML:NO];
[mailViewController setToRecipients:listOfRecipients];
[self presentViewController:mailViewController animated:YES completion:nil];

这是我在以前的 32 位版本的应用程序中使用的,它已经运行了五年多。

因为我正在处理 iOS 和 Xcode 的测试版,我如何确定这是 OS 或代码中的错误? Xcode 或 phone.

中均未显示任何错误

感谢您的帮助。

您需要实现委托方法并关闭控制器。

如果符合,该方法会报错。

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(nullable NSError *)error {

   [controller dismissViewControllerAnimated:true completion:nil];
}