iphone - 如何通过iOS模拟器发送邮件?

标签 iphone email message sendmessage

我想知道是否可以通过iPhone模拟器发送电子邮件。我见过 通过iphone发送邮件的教程如下:

http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/

现在测试需要真机吗?如果我想发送电子邮件,该怎么办 通过 iPhone 模拟器?

最佳答案

您必须依赖 iOS 来确保 mailComposeController:didFinishWithResult:error: 中返回的 MFMailComposeResult 是否正确。模拟器会伪造这个结果;虽然显示为 MFMailComposeResultSent,但并未发送实际邮件。

提到的教程遗漏了一个重要点:在使用MFMailComposeViewController之前,您应该做的第一件事是检查[MFMailComposeViewController canSendMail]。如果用户尚未在其设备上配置邮件,则将返回 NO。如果您必须支持 3.0 之前的 iOS 版本,正确的方法是检查 MFMailComposeViewController 类是否存在:

Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
    if ([mailClass canSendMail])
    {
        [self displayComposerSheet];
    }
    else
    {
        [self launchMailAppOnDevice];
    }
}
else
{
    [self launchMailAppOnDevice];
}

canSendMail 问题只能在真实设备上进行测试。如果不检查 canSendMail 并且用户没有配置邮件帐户,将会崩溃。

关于iphone - 如何通过iOS模拟器发送邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349139/

相关文章:

iphone - AVCaptureMovieFileOutput -- 写入时修剪文件

java - 如何为android webview制作可重用的java函数

java - 创建弹出消息

c - stat()在c中给出错误的目录大小

iphone - iPhone发行-多种设备-非App Store

iphone - 在设备上运行时 NSLog 信息会发生什么变化?

excel - 将未保存的 Excel 文件附加到电子邮件

java - 如何处理 submit_sm_resp over smpp 协议(protocol)

ios - 添加到选择器 View (如附件 View )时,工具栏按钮不起作用

email - 为什么我在Grails中的邮件中收到错误的链接