在iOS模拟器上模拟MFMailComposeViewController。只需要显示作曲家

时间:2017-12-15 07:59:25

标签: ios objective-c mfmailcomposeviewcontroller

我只需要在我的iOS模拟器上显示电子邮件编辑器(无需发送实际邮件)。

我初始化MFMailComposeViewController时,我会收到警告弹出窗口,表示未设置电子邮件帐户。

这就是我在做的事。

MFMailComposeViewController* composeVC = [[MFMailComposeViewController alloc] init];

此行弹出警报控制器。

1 个答案:

答案 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;
    }
}