Eu só preciso exibir o compositor de e-mail no meu simulador iOS (Não há necessidade de enviar o e-mail real).
Assim que eu estiver inicializando MFMailComposeViewController
Estou recebendo alerta pop-up dizendo que a conta de e-mail não está configurada.
Isso é o que estou fazendo.
MFMailComposeViewController* composeVC = [[MFMailComposeViewController alloc] init];
Esta linha aparece no controlador de alerta.
Respostas:
1 para resposta № 1Para simulador, a configuração de e-mail não está disponível.
Use o código abaixo para enviar email.
- (void)openEmail
{
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *mail =
[[MFMailComposeViewController alloc] init];
mail.mailComposeDelegate = self;
[mail setSubject:@"Subject"];
[mail setMessageBody:@"body message" isHTML:NO];
[mail setToRecipients:@[@"email1@example.com",@"email2@example.com"]];
/// if attachment then implement below line
//[mail addAttachmentData:<#(nonnull NSData *)#> mimeType:<#(nonnull NSString *)#> fileName:<#(nonnull NSString *)#>]
[self presentViewController:mail animated:YES completion:NULL];
}
else {
NSLog(@"Please configure your email. Settings->Accounts & Passwords->Add Account");
}
}
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(nullable NSError *)error
{
switch (result) {
case MFMailComposeResultSent:
NSLog(@"Sent");
break;
default:
break;
}
}