web-dev-qa-db-fra.com

E-mail calme iOS 8

J'essaie d'ouvrir le calme des e-mails dans iOS 8 à partir de Xcode 6, mais j'obtiens une erreur. Le même code fonctionne correctement si j'essaie à partir de Xcode 5. Plus tard, j'ai téléchargé un exemple de code à partir de Apple portal developer:

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

Mais le résultat est le même. Y a-t-il quelque chose ou un paramètre qui me manque pour optimiser le code pour Xcode 6

Voici le code: dans mon action de bouton

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];

e-mail délégué

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];

résultat:

le délégué de calme d'e-mail disparaît automatiquement avec le résultat 0, c'est-à-dire MFMailComposeResultCancelled

avec les codes d'erreur: MessageComposer [10993: 196902] viewServiceDidTerminateWithError: Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3 "L'opération n'a pas pu être terminée. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo = 0x7b93f7e Connection = Service7

et

2014-09-17 22: 04: 22.538 MessageComposer [10993: 205761] a expiré en attendant la barrière de clôture de com.Apple.MailCompositionService

51
Chahal

À première vue, il s'agit d'un problème uniquement sur simulateur. (simulateur iOS 8) L'approche globalMailer fonctionne correctement sur les appareils.

Si quelqu'un rencontre ce problème, testez simplement sur un appareil réel.

102
Vrasidas