ios - tools - xcode ide
Compostura de correo electrónico iOS 8 (1)
Estoy tratando de abrir la compostura de correo electrónico en iOS 8 desde Xcode 6, pero obtengo un error. El mismo código funciona bien si intento desde Xcode 5. Más tarde descargué un código de muestra del portal de desarrolladores de Apple:
https://developer.apple.com/library/content/samplecode/MessageComposer/Introduction/Intro.html
Pero el resultado es el mismo. ¿Hay algo, o alguna configuración, me falta para optimizar el código para Xcode 6
Aquí está el código: en la acción de mi botón
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];
delegado de correo electrónico
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];
resultado:
el delegado de la composición del correo electrónico desaparece automáticamente con el resultado 0, es decir, MFMailComposeResultCancelled
con códigos de error: MessageComposer [10993: 196902] viewServiceDidTerminateWithError: Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3 "La operación no se pudo completar. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo = 0x7b93f7e0 {Mensaje = Servicio Service Connection {} = Mensaje =
y
2014-09-17 22: 04: 22.538 MessageComposer [10993: 205761] agotó el tiempo de espera esperando la barrera de la cerca de com.apple.MailCompositionService
Por lo que parece, este es un problema de solo simulador. (simulador de iOS 8) El enfoque globalMailer funciona bien en dispositivos.
Si alguien encuentra este problema, solo pruebe en un dispositivo real.