descargar apple ios iphone
aquí.código de

apple - ios download



No se puede enviar correo electrónico utilizando MFMailComposeViewController en el simulador (3)

Soy nuevo en el desarrollo de aplicaciones iOS. A continuación se muestra el código que utilicé para enviar un correo electrónico.

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; controller.mailComposeDelegate = self; [controller setSubject:@"My Subject"]; [controller setMessageBody:@"Hello there." isHTML:NO]; [self presentModalViewController:controller animated:YES]; [controller release]; - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { if (result == MFMailComposeResultSent) { NSLog(@"It''s away!"); } [self dismissModalViewControllerAnimated:YES]; }

Lamentablemente, los métodos de delegado nunca se activan. ¿Puede alguien sugerirme cómo puedo consultar mi correo electrónico mediante un simulador?


Por lo que sé, no puede enviar correo desde el simulador. MFMailComposeViewController usa el buzón configurado en la aplicación Correo del iPhone para enviar el correo. El simulador no tiene la aplicación Mail.


Puede enviar correo usando la conectividad de Gmail. Puede enviar correo al usuario para eso necesita insertar cierta cantidad de código y configuración en su código siguiendo el código que se usa para enviar un correo.

- (IBAction)sendMessageInBack:(id)anObject{ NSLog(@"Start Sending"); NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"sample.pdf"]; NSData *dataObj = [NSData dataWithContentsOfFile:writableDBPath]; SKPSMTPMessage *testMsg = [[SKPSMTPMessage alloc] init]; testMsg.fromEmail = @"Your mail id"; testMsg.toEmail = @"sender mail ids"; testMsg.relayHost = @"smtp.gmail.com"; testMsg.requiresAuth = YES; testMsg.login = @"Uour mail id"; testMsg.pass = @"your pass"; testMsg.subject = @"Test application "; testMsg.wantsSecure = YES; // smtp.gmail.com doesn''t work without TLS! // Only do this for self-signed certs! // testMsg.validateSSLChain = NO; testMsg.delegate = self; NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey, @"Some text to include in body",kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil]; testMsg.parts = [NSArray arrayWithObjects:plainPart,nil]; [testMsg send]; } -(void)messageSent:(SKPSMTPMessage *)message{ [message release]; NSLog(@"delegate - message sent"); } -(void)messageFailed:(SKPSMTPMessage *)message error:(NSError *)error{ [message release]; // open an alert with just an OK button UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Unable to send email" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alert show]; [alert release]; NSLog(@"delegate - error(%d): %@", [error code], [error localizedDescription]); }

Y los siguientes archivos se copian en tu proyecto.

Para descargar un código de muestra aquí.


NO PUEDES enviar correos a través del simulador.

En su lugar, puede instalar la aplicación en el dispositivo e intentar desde allí.

El simulador solo muestra el compositor pero no le permite enviar correos. El envío exitoso es solo el reconocimiento de que su código está bien y no hay ningún problema que lo finalice durante el envío.