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
À 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.