2011-03-18 14 views
27

Quiero saber si es posible enviar un correo electrónico a través del simulador de iPhone. He visto el tutorial para enviar un correo electrónico a través de iPhone de la siguiente manera:¿Cómo enviar un correo electrónico a través del simulador de iOS?

http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/

ahora para probar que es necesario contar con dispositivo real? ¿Cuál es el camino si quiero enviar un correo electrónico al a través del simulador de iPhone?

+2

Necesita un dispositivo real. – Seunghoon

Respuesta

30

Tiene que confiar en el iOS que el MFMailComposeResult que se devuelve en mailComposeController:didFinishWithResult:error: es correcto. El simulador simula ese resultado; no se envía el correo real aunque dice MFMailComposeResultSent.

El tutorial mencionado pasan por alto algo importante: La primera cosa que debe hacer antes de utilizar MFMailComposeViewController es comprobar [MFMailComposeViewController canSendMail]. Eso devolverá NO, si el usuario no ha configurado el correo en su dispositivo. Si debe soportar una versión iOS 3.0 antes de la forma correcta es comprobar si existe la clase MFMailComposeViewController:

Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); 
if (mailClass != nil) 
{ 
    if ([mailClass canSendMail]) 
    { 
     [self displayComposerSheet]; 
    } 
    else 
    { 
     [self launchMailAppOnDevice]; 
    } 
} 
else 
{ 
    [self launchMailAppOnDevice]; 
} 

El canSendMail-problema sólo se puede probar en un dispositivo real, sin embargo. Se bloqueará si no marca canSendMail y el usuario no tiene una cuenta de correo configurada.

+0

Para mi tarea solo necesito mostrar el compositor. Pero no puedo hacerlo. MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; . Esta línea aparece el controlador de alerta. –

1

Puede usar el marco MessageUI en el simulador para redactar y 'enviar' mensajes, pero no creo que haya una forma de enviar el mensaje. Sin embargo, una vez que el usuario pulsa el botón Enviar en la vista de composición del mensaje, su código no tiene ninguna función en el envío del mensaje. Entonces, el simulador hace lo suficiente para que pueda desarrollar y probar su aplicación.

En cuanto a si es necesario tener un dispositivo real, diría que en algún momento debe probar en uno o más dispositivos pase lo que pase. El simulador es una gran herramienta, pero después de cierto punto no es un sustituto para ejecutar tu aplicación en la realidad.

4

Sí, es necesario si realmente desea enviar el correo electrónico.

En la mayoría de los casos no hay necesidad de que se preocupe, ya que el correo electrónico será enviado por la aplicación de Apple, por lo que solo necesitará verificar que su aplicación está respondiendo e iniciará el compositor de correo. Lo único que puedo pensar que es problemático es si desea asegurarse de que los archivos adjuntos y las imágenes se envían correctamente. En este caso, puede enviar una versión beta a alguien con iPhone y pedirle que lo verifique por usted.

importante tener un dispositivo es crítico para el desarrollo, su simulador no se comporta exactamente como el dispositivo. él es un perdonador y en mi experiencia siempre tuve problemas con el dispositivo que no estaban con el simulador.

+0

Para mi tarea solo necesito mostrar el compositor. Pero no puedo hacerlo. MFMailComposeViewController * composeVC = [[MFMailComposeViewController alloc] init]; . Esta línea muestra el controlador de alerta –

3

Según el discussion on apple forum, para probar la funcionalidad que realmente necesitamos para un dispositivo, el simulador no es compatible con esta funcionalidad.

Una parte de la discusión:

sptrakesh Chicago Re: simulador de iOS

CORREO APP 26 de Mar, 2012 07:09 AM (en respuesta a davemac75)

La aplicación de correo es no disponible en el simulador. Necesitará para probar su aplicación en un dispositivo y probar esa parte.

Cuestiones relacionadas