gpt4 book ai didi

ios - 为什么 MFMailComposeViewController 在应用程序内发送电子邮件时不会关闭?

转载 作者:可可西里 更新时间:2023-11-01 05:03:21 26 4
gpt4 key购买 nike

我正在开发一个 iPad 应用程序,它创建一个 PDF,然后用户从该应用程序通过电子邮件发送。我已经能够成功设置电子邮件以附加 PDF,但我无法让 MFMailComposeViewController 关闭。我已经阅读了关于这个问题的其他几个问题,并试图模仿他们在做什么,但邮件编辑器仍然不会解雇。我需要在我的代码中更改什么才能让它消失?

- (IBAction)submitDailyReportButton:(id)sender {

MFMailComposeViewController *mail = [[MFMailComposeViewController alloc]init];
[mail setMailComposeDelegate:self];

if ([MFMailComposeViewController canSendMail]) {

NSString *email =@"admin@domain.com";
NSArray *emailArray = [[NSArray alloc]initWithObjects:email,nil];
[mail setToRecipients:emailArray];

[mail setSubject:@"Daily Report"];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *newFilePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"report.pdf"];

NSData *pdfData = [NSData dataWithContentsOfFile:newFilePath];
[mail addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"report.pdf"];
NSString *body = @"Please review the attached daily report";
[mail setMessageBody:body isHTML:NO];
[mail setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:mail animated:YES completion:nil];

}else{

NSLog(@"Message cannot be sent");

}

最佳答案

您必须实现委托(delegate)方法并在委托(delegate)方法中关闭 View Controller 。

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
[self dismissViewControllerAnimated:YES completion:nil];
}

旁注 - 如果您无法发送电子邮件,则无需创建邮件编辑器。将分配移动到 if 语句中。

关于ios - 为什么 MFMailComposeViewController 在应用程序内发送电子邮件时不会关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com