mfmailcomposeviewcontroller在iOS 6上崩溃

时间:2012-10-07 16:11:12

标签: cocoa ios6

通常,当我像这样使用mfmailcomposeviewcontroller时:

if ([MFMailComposeViewController canSendMail])
{

        MFMailComposeViewController *mcvc = [[MFMailComposeViewController alloc] init];
        mcvc.mailComposeDelegate = self;

        [mcvc setSubject:@"Check out these diamonds!"];

        [self presentModalViewController:mcvc animated:YES];
        [mcvc release];
}

我现在在iOS 6上收到此错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Could not load NIB in bundle: 'NSBundle </Users/ericshorr/Library/Application Support/iPhone Simulator/6.0/Applications/7904C2AD-23E1-4211-B5FA-A1F03CB3A875/SDE Group Diamonds.app> (loaded)' with name 'MFMailComposeInternalViewController''

2 个答案:

答案 0 :(得分:0)

因为您需要在iPad中设置邮件帐户才能在iOS 6中发送邮件。转到设置中的邮件,通讯录,日历,然后添加邮件帐户。

答案 1 :(得分:0)

我最近遇到了类似的问题,我在UIViewController中添加了一个类别,这样我就可以覆盖init并在nib名称后附加一个修饰符。像这样......

self = [self initWithNibName:[nibName stringByAppendingString:@"_modifier"] bundle:nil];

虽然UIViewController类别在尝试启动MFMailComposeViewController的类中没有#imported,但是它被导入到作为子视图控制器添加的另一个类的标头中。因此,MFMailComposeViewController试图找到一个名为NIB的NIB:MFMailComposeInternalViewController_modifier。

事后看来显而易见,但这是一个噩梦,所以我认为我会在这里添加它作为一种可能的解决方案,对于遇到类似情况的其他人来说。