I can't get MFMailComposeViewController to open without throwing a fatal error in iOS 9 Simulator.
The same code (Objective C) works flawlessly in iOS 8.x and lower but today I installed Xcode 7 beta 5 and when I run the app on iOS 9 Simulator, I get a dialog box titled "MailCompositionService quit unexpectedly" and when I view the error report, I see:
Application Specific Information: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI isEqualToString:]: unrecognized selector sent to instance 0x7fd314280b10'
terminating with uncaught exception of type NSException abort() called CoreSimulator 179 - Device: iPhone 6 - Runtime: iOS 9.0 (13A4325c) - DeviceType: iPhone 6
The error happens when the mail composition view comes up. It freezes for a few seconds and then the error dialog box comes up.
The code that opens the mail composition view is:
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];
}
If it helps to know, before the app crashes, mailComposeController:didFinishWithResult:error:
is called with result
= MFMailComposeResultCancelled
and error
= nil
.
I'd appreciate tips on how to find the cause of this error. Thanks!
The issue is with simulator, on the real device mail composer is working correctly.
As per Apple Developer Forum, more details are here.
The simulator doesn't support mail. You should likely try testing mail functionality in a device.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With