通常,当我像这样使用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''
答案 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。
事后看来显而易见,但这是一个噩梦,所以我认为我会在这里添加它作为一种可能的解决方案,对于遇到类似情况的其他人来说。