MFMailComposeViewController仅在iOS 9中引发错误

Sle*_*man 20 objective-c ios ios9

我无法在没有在iOS 9模拟器中抛出致命错误的情况下打开MFMailComposeViewController.

相同的代码(目标C)在iOS 8.x及更低版本中完美运行但今天我安装了Xcode 7 beta 5,当我在iOS 9模拟器上运行应用程序时,我得到一个标题为"MailCompositionService意外退出"的对话框,当我查看时错误报告,我看到:

特定于应用程序的信息:***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSArrayI isEqualToString:]:无法识别的选择器发送到实例0x7fd314280b10'

以NSException类型的未捕获异常终止abort()名为CoreSimulator 179 - Device:iPhone 6 - 运行时:iOS 9.0(13A4325c) - DeviceType:iPhone 6

邮件撰写视图出现时会发生错误.它会冻结几秒钟然后出现错误对话框.

打开邮件撰写视图的代码是:

if ([MFMailComposeViewController canSendMail])
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;
    [picker setSubject:@"Comment title"];
    [picker setMessageBody:@"Comment description" isHTML:NO];

    [self.window.rootViewController presentModalViewController:picker animated:YES];
    [picker release];
}
Run Code Online (Sandbox Code Playgroud)

如果知道,在应用程序崩溃之前,mailComposeController:didFinishWithResult:error:使用result= MFMailComposeResultCancellederror= 调用它nil.

我很欣赏如何找到此错误原因的提示.谢谢!

Bor*_*rzh 15

问题在于模拟器,在真实设备上邮件编写器工作正常.


Ash*_*iya 6

根据Apple Developer Forum,更多细节在这里.

模拟器不支持邮件.您应该尝试在设备中测试邮件功能.