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

iOS 6 でメールを送信できるようにするには、iPad でメール アカウントをセットアップする必要があるためです。 [設定] の [メール、連絡先、カレンダー] に移動し、メール アカウントを追加します。

于 2013-02-07T11:21:20.933 に答える
0

最近、UIViewController にカテゴリを追加した同様の問題が発生したため、init をオーバーライドして nib 名に追加の修飾子を追加できました。そのようです...

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

UIViewController カテゴリは、MFMailComposeViewController を起動しようとしていたクラスに #import されていませんでしたが、子ビュー コントローラーとして追加されていた別のクラスのヘッダーにインポートされていました。したがって、MFMailComposeViewController は、MFMailComposeInternalViewController_modifier という名前の NIB を見つけようとしていました。

後から考えると明らかなようですが、これは悪夢のようなものだったので、同様の状況に陥った他の人のために、可能な解決策としてここに追加すると思いました.

于 2013-07-03T10:50:22.337 に答える