我只需要在我的iOS模拟器上显示电子邮件编辑器(无需发送实际邮件)。
我初始化MFMailComposeViewController
时,我会收到警告弹出窗口,表示未设置电子邮件帐户。
这就是我在做的事。
MFMailComposeViewController* composeVC = [[MFMailComposeViewController alloc] init];
此行弹出警报控制器。
答案 0 :(得分:1)
对于模拟器电子邮件配置不可用。
使用以下代码发送电子邮件。
- (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;
}
}