Iphone 4 MFmailcompose viewcontroller crash
StackOverflowの方にも書いておきましたが、タイトルの通り、iOS標準のメールアプリの設定がされていないとinitが失敗します。
失敗すると自動的にアラート画面が出ますが、エラー処理をせずにpresentModalViewController/pushViewController等の操作をするとアプリケーションが落ちます。
失敗したらブロックを抜けましょう。
MFMailComposeViewController* controller = [[[MFMailComposeViewController alloc] init] autorelease]; if (!controller) // failed return; // auto view alert, "not mail setting..." controller.mailComposeDelegate = self;
追記(2011/01/12 : 12:00):
if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController* controller = [[[MFMailComposeViewController alloc] init] autorelease]; controller.mailComposeDelegate = self; }
でチェックしたほうがいいようです。