检测iPhone/iPad电子邮件客户端是否已配置/有效

che*_*ewy 5 email cocoa-touch objective-c ios

我有一个问题,一个应用程序在打开时严重崩溃MFMailComposeViewController,它在模拟器上完美运行并在设备上崩溃.

花了几个小时后,我意识到原因是我用于测试的iPad上的内部电子邮件客户端没有设置/配置 - 在设备上设置电子邮件后,一切正常.

因此,我的问题是:我可以检测设备电子邮件客户端是否已配置且有效,以避免在尚未设置其内部iPad/iPhone电子邮件客户端的设备上再次发生相同的崩溃?

rck*_*nes 13

只需检查canSendMail类方法:

if ([MFMailComposeViewController canSendMail]) {
  // Yes we can send mail.
}
Run Code Online (Sandbox Code Playgroud)

我所做的是检查方法,只有返回true才显示邮件选项.