0

通常,当我像这样使用 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''
4

2 回答 2

0

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

于 2013-02-07T11:21:20.933 回答
0

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

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

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

事后看来似乎很明显,但这是一场噩梦,所以我想我会在这里添加它作为可能的解决方案,对于遇到类似情况的其他人。

于 2013-07-03T10:50:22.337 回答