すべての展開ターゲット シミュレーター (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 でこれを引き起こすバグがあるのでしょうか? 他に試せる新しいデバイスがないので、Mini の問題なのか、もっと大きな問題なのかわかりません。Appleに提出する準備ができているので、助けていただければ幸いですが、クラッシュするバグでそれをしたくありません.