应用内电子邮件不适用于 iOS 设备/模拟器 iOS6
Posted
技术标签:
【中文标题】应用内电子邮件不适用于 iOS 设备/模拟器 iOS6【英文标题】:In-App email Not working on iOS Device/Simulator iOS6 【发布时间】:2012-12-18 17:11:48 【问题描述】:我正在尝试为我的应用程序实现应用内电子邮件,但遇到了一个严重的问题。当按下按钮打开应用内电子邮件时,它工作得很好。以下是我遇到的问题:
当我点击取消时,它会要求我保存/删除取消取消的草稿。如果我点击“删除草稿”,操作表就会消失,但邮件编辑器会保持打开状态。我可以与它交互并一遍又一遍地点击发送,它会继续发送电子邮件。但是取消按钮不能再交互了。 “保存草稿”按钮保存电子邮件的草稿,但作曲家仍在运行,我可以与取消按钮进行交互。
这是我正在使用的代码:
- (IBAction)sendEmail:(id)sender
//Set up of e-mail
sendMail = [[MFMailComposeViewController alloc] init];
sendMail.mailComposeDelegate = self;
//Set the subject
[sendMail setSubject:@"Demo attachment"];
//To recipients
NSArray *toRecepients = [[NSArray alloc] initWithObjects:@"exampleEmail@email.com", @"exampleEmail2@email.com", nil];
[sendMail setToRecipients:toRecepients];
//[sendMail setBccRecipients:toRecepients];
//[sendMail setCcRecipients:toRecepients];
//Add message to the body
NSString *emailBody = @"This is a test email with an attachment.\n";
[sendMail setMessageBody:emailBody ishtml:YES];
//Include an attachment
//NSData *pdfData = [NSData dataWithContentsOfFile:@"demo.pdf"];
//[sendMail addAttachmentData:pdfData mimeType:@"file/pdf" fileName:@"Some file"];
[self presentViewController:sendMail animated:YES completion:NULL];
在 ios 6 上部署应用并使用 iPhone 5 作为测试设备。任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:在适当的位置为您的委托添加[self dismissModalViewControllerAnimated:YES];
。
- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
//.. other completion code
[self dismissModalViewControllerAnimated:YES];
【讨论】:
以上是关于应用内电子邮件不适用于 iOS 设备/模拟器 iOS6的主要内容,如果未能解决你的问题,请参考以下文章
IOS中的Facebook登录适用于模拟器,但不适用于安装了本机应用程序的设备