Email composure iOS 8
Asked Answered
Z

1

51

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

Zacheryzack answered 17/9, 2014 at 16:20 Comment(7)
What's the error? Show the relevant code in your question.Lynettalynette
Again, what is the error? Which line?Lynettalynette
See this question: #25605052Goff
@hoiberg42 you are correct, that are the error codes I am getting after the email composure controller dismissing itself.Zacheryzack
I'm having the exact same issue, tried the globalMailer approach but it still does it. Mail view controller appears, gets stuck, and dismisses automatically. :/Mussolini
I just tested on a iOS 8 device and it seems that the globalMailer works. So it must be a Simulator issue...Mussolini
@Vrasidas: yes this is true, its just the simulator issue, If you post the answer i'll accept it.Zacheryzack
M
102

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.

Mussolini answered 23/9, 2014 at 17:58 Comment(4)
I had the issue in simulator only as well. Tested on the device through test flight and it was fine.Pythagoras
if you do your test on a Simulator running iOS7.1 your code will work fine as wellPicardi
I have the same problem too on iOs simulator, but on real device is working fine :)Klee
how can this still be going on? I get the same error for 9.1 and 9.0 on the simulator.Sourdough

© 2022 - 2024 — McMap. All rights reserved.