我的iPhone应用程序正在使用MFMailComposeViewController类发送带有附件的应用内邮箱.

- (BOOL)canDeviceSendEmail
{
    Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
    return mailClass != nil && [mailClass canSendMail];
}

一组测试人员报告称,即使在设备上设置了邮箱帐户,他们也会收到此错误alert 对话框.测试人员使用的是带有OS 3.1.3的iPhone 3G.因此,MFMailComposeViewController类必须存在,"canSendMail"方法必须返回NO.

因此,我的问题是:除了设备上没有设置邮箱帐户的情况外,"canSendMail"方法在什么情况下可以返回no?

~z~谢谢

推荐答案

如果设备上至少启用了一个邮箱帐户,则以下呼叫应返回YES(是):

[MFMailComposeViewController canSendMail]

相反,如果所有帐户都被禁用/删除,它将返回NO.

Objective-c相关问答推荐

Objective c 判断文本字段是否为空

我应该为 memcpy 和 realloc 包含什么标题?

iOS中的非延迟图像加载

在 iOS 中检测 PAN 手势的方向

NSError 和 __autoreleasing

当前时间是 HH:MM:SS am/pm 格式吗?

防止其他程序员调用 -init 的最佳方法

go 掉 UISearchBar 下的 1px 边框

#if 和 #ifdef Objective-C 预处理器宏有什么区别?

如何在 XCode 4 中创建 dSYM 文件?

dispatch_semaphore_dispose 上的 EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

滚动后检测 UITableView 中的当前顶部单元格

更改 UIBarButtonItem 的 Tint colored颜色

在 Cocoa 中你更喜欢 NSInteger 还是 int,为什么?

UILabel 的角半径属性在 iOS 7.1 中不起作用

在 NSNumbers 的 NSArray 中查找最小值和最大值

具有高质量代码的开源 Objective-C 项目?

IOHIDFamily 的神秘控制台错误

既然我正在使用 Core Data,如何对我的模型进行单元测试?

在 DEBUG 模式下启用和禁用 NSLog