すべての展開ターゲット シミュレーター (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に提出する準備ができているので、助けていただければ幸いですが、クラッシュするバグでそれをしたくありません.