Email composure iOS 8

IosObjective CXcodeIos8Xcode6gm

Ios Problem Overview


I'm trying to open email composure in iOS 8 from Xcode 6, but getting an error. The same code is working fine if I'm trying from Xcode 5. Later I downloaded a sample code from apple developer portal:

https://developer.apple.com/library/content/samplecode/MessageComposer/Introduction/Intro.html

But the result is same. Is there something, or some setting, I'm missing to optimise the code for Xcode 6

Here is the code: in my button action

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];

picker.mailComposeDelegate = self;

[picker setSubject:@"Hello from California!"];

// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
NSArray *ccRecipients = [NSArray arrayWithObjects:@"[email protected]", @"[email protected]", nil]; 
NSArray *bccRecipients = [NSArray arrayWithObject:@"[email protected]"]; 

[picker setToRecipients:toRecipients];
[picker setCcRecipients:ccRecipients];	
[picker setBccRecipients:bccRecipients];

// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];

// Fill out the email body text
NSString *emailBody = @"It is raining in sunny California!";
[picker setMessageBody:emailBody isHTML:NO];

[self presentViewController:picker animated:YES completion:NULL];

email delegate

self.feedbackMsg.hidden = NO;
// Notifies users about errors associated with the interface
switch (result)
{
	case MFMailComposeResultCancelled:
		self.feedbackMsg.text = @"Result: Mail sending canceled";
		break;
	case MFMailComposeResultSaved:
		self.feedbackMsg.text = @"Result: Mail saved";
		break;
	case MFMailComposeResultSent:
		self.feedbackMsg.text = @"Result: Mail sent";
		break;
	case MFMailComposeResultFailed:
		self.feedbackMsg.text = @"Result: Mail sending failed";
		break;
	default:
		self.feedbackMsg.text = @"Result: Mail not sent";
		break;
}

[self dismissViewControllerAnimated:YES completion:NULL];

result:

> email composure delegate disappearing automatically with result 0, > i.e., MFMailComposeResultCancelled > > with error codes : MessageComposer[10993:196902] > viewServiceDidTerminateWithError: Error > Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation > couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" > UserInfo=0x7b93f7e0 {Message=Service Connection Interrupted}

and

> 2014-09-17 22:04:22.538 MessageComposer[10993:205761] > timed out waiting for > fence barrier from com.apple.MailCompositionService

Ios Solutions


Solution 1 - Ios

By the looks of it, this is a simulator-only issue. (iOS 8 simulator) The globalMailer approach works ok on devices.

If anyone encounters this problem, just test on a real device.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChahalView Question on Stackoverflow
Solution 1 - IosVrasidasView Answer on Stackoverflow