MFMailComposeViewController在canSendMail时超时了?

3
所以题目大部分是自我解释的。当我进入时,

if ([MFMailComposeViewController canSendMail] && [sender.titleLabel.text isEqualToString:@"Contact Support"])
        [self displaySupportComposerSheet];
    else if([MFMailComposeViewController canSendMail])
        [self displayDarrenComposerSheet];

我在控制台中收到了以下信息:超时消息邮件,无法确定CanSendMail状态。

我也尝试了似乎是旧的邮件撰写方式,即

  Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));

我仍然收到相同的消息。有任何想法吗?

此外,当我将MFMailComposeViewController设置为属性而不是每个方法的局部变量时,它似乎不喜欢,这是为什么?


ClassFromString是“旧式”的,因为在大约3.0版本中,该类可能不可用。首先查找该类并检查nil是一种检测服务是否可用的方法。现在可以将其删除。作为调查步骤,您可以剥离所有其他代码,仅将BOOL设置为canSendMail的结果。在下一行上使用NSLog(@“can send mail =%d”,theBool)打一个断点,然后运行(不要步进)。看看你是否在达到断点之前收到了控制台消息。 - danh
你正在尝试哪个iOS版本? - Dinesh Raja
这是使用iOS 6的。我主要是在处理它,因为每当应用程序首次运行并且邮件按钮首次被点击时,它会有点延迟,很可能是由于在调用方法时实例化MFMailComposeViewController,所以我开始对其进行处理。 - terry lewis
@Terry Lewis,您解决了您的问题吗? - Shamsiddin Saidov
1个回答

0

在调用[[MFMailComposer alloc] init]之前,我在组合大型PDF文件以添加为附件时遇到了这个错误。当我将邮件发送器的创建移动到PDF创建器消耗大量内存之前的某个点时,我就不再在日志中看到这个错误了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接