【问题标题】:iPad Mini crashing on modal segueiPad Mini 在模态转场上崩溃
【发布时间】:2013-02-12 06:27:56
【问题描述】:

我正在开发一个可在所有部署目标模拟器 (5.0-6.1) 以及我的 iPhone 3GS、4、4S 和第 2 代 iPad 上运行的应用程序。我今天有机会尝试在 iPad Mini 上运行它。我在任何地方工作,除非我尝试使用 MFMailComposeViewController 对象发送电子邮件,这会导致它崩溃并出现异常。

我直接使用 MailComposer 示例项目中的代码,但它在调用 presentModalViewController:animated: 时总是崩溃。所以我尝试了 presentViewController:animated:completion: 因为另一种方法已被弃用,但它仍然不起作用。

我链接到 MessageUI.framework 导入的类:

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

委托已设置。代码如下:

-(void)displayComposerSheet
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    [picker setSubject:@"Contact Email"];

    // Set up recipient
    NSArray *toRecipients = [NSArray arrayWithObject:@"info@foo.bar"];
    [picker setToRecipients:toRecipients];

    //  [self presentModalViewController:picker animated:YES];
    [self presentViewController:picker animated:YES completion:NULL];
}

iPad Mini 中是否存在导致此问题的错误?我没有任何其他可以试用的新设备,所以我不确定它是小问题还是更大的问题。任何帮助都将不胜感激,因为我已准备好提交给 Apple,但我肯定不想因为崩溃的错误而这样做。

【问题讨论】:

  • 我注意到,当我将 NSLog(@"picker %@",picker) 添加到方法时,问题似乎是选择器为 NULL。所以由于某种原因,它没有得到正确的分配/初始化。正如我所说,对于所有其他设备,它创建了对象并且可以工作。

标签: ios segue mfmailcomposeviewcontroller ipad-mini


【解决方案1】:

可能是邮件帐户尚未设置或由于其他原因无法发送电子邮件。

一定要先调用MFMailComposeViewController的+ (BOOL)canSendMail函数。

【讨论】:

    【解决方案2】:

    尝试用

    包装您的 MFMailComposeViewController 代码
    if ( [MFMailCompseViewController canSendMail])
    

    我猜设备上没有邮件设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 2017-01-24
      • 2013-01-04
      • 2012-11-26
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多