我想知道是否可以通过 iPhone 模拟器发送电子邮件。我见过
通过iphone发送邮件的教程如下:
http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/ http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/
现在测试需要真机吗?如果我想发送电子邮件,该怎么办
通过iPhone模拟器?
你必须依赖iOSMFMailComposeResult
交回的mailComposeController:didFinishWithResult:error:
是正确的。模拟器会伪造这个结果;尽管上面写着,但没有实际发送邮件MFMailComposeResultSent
.
提到的教程遗漏了一个重要的点: 使用前您应该做的第一件事MFMailComposeViewController
是要检查[MFMailComposeViewController canSendMail]
。那将会返回NO
,如果用户尚未在其设备上配置邮件。如果您必须支持 3.0 之前的 iOS 版本,正确的方法是检查该类是否MFMailComposeViewController
exists:
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
if ([mailClass canSendMail])
{
[self displayComposerSheet];
}
else
{
[self launchMailAppOnDevice];
}
}
else
{
[self launchMailAppOnDevice];
}
但 canSendMail 问题只能在真实设备上进行测试。如果您不检查 canSendMail 并且用户没有配置邮件帐户,它将崩溃。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)