Application tried to present a nil modal view controller on target 問題

公開日: : iPad, iPhone

MFMailComposeViewController を使ってメール送信ダイアログを表示しようとしたところ、Application tried to present a nil modal view controller on target が発生してアプリが強制終了されてしまう問題に遭遇。

iphone – 'Application tried to present a nil modal view controller on target' error/crash when trying to open mail composer – Stack Overflow

に書いてあるとおり、MFMailComposeViewController の canSendMail を使って、端末からメールを送れる状態であるかを確認する必要がある。
テスト用端末や Simulator だとメールの設定をしていないことも多いと思うので、遭遇することがありそうだ。

 Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil) {
        MFMailComposeViewController * mailView = [[MFMailComposeViewController alloc] init];
        mailView.mailComposeDelegate = self;

        //Set the subject
        [mailView setSubject:emailSubject];

        //Set the mail body
        [mailView setMessageBody:emailBody isHTML:YES];


        //Display Email Composer
     if([mailClass canSendMail]) {
        [self.navControl presentModalViewController:mailView animated:YES];
     }
}

ちなみに、メールを送信できない環境である場合自動的にダイアログが表示される。

Mfmail

さらにちなみに、SMSを送りたい場合は MFMessageComposeViewController を使い、その場合送信可能かどうかは canSendText を使うとのこと。
上記のStack Overflow の質問では、メールを送信したいのにこちらが使われていたので、二重に間違っていたことになる。

関連記事

no image

3/8(木)深夜はiPad3の発表?

3/7(水)(日本時間3/8(木)深夜) にAppleのプレスイベントがあり、iPad3 が発表

記事を読む

no image

Cocos2dで作る iPhone&iPadゲームプログラミング

ついに良さそうなcocos2d本が出るらしい。6/24(金)発売予定。488ページ、3980円。 し

記事を読む

[WatchKit] WatchSim 買ってみた

WatchSim Danny Keogan posted with iT

記事を読む

no image

EverLearn Ver.1.2.0 が公開されました

EverLearn Ver.1.2.0 が昨日公開されました。 今回は8/28にSubmitして、

記事を読む

no image

スマートフォン手袋を買ってみた 2011

去年買ったスマートフォン用手袋は石油くさくてかなりつらい思いをしながら使ってましたが、今年もこりず

記事を読む

no image

薄い iPad2用ケース eggshell for iPad2 TUN-PD-000079 購入 2011/06/27

不具合報告があったので、当初予定がなかったiPad2を購入。 それはまた別に書くとして、まずは一緒に

記事を読む

Xcodeの Console出力をクリアするキーバインド

いつも忘れるので、メモとして残しておく。Command(⌘)+ Kその他はこちら。 Menu Com

記事を読む

Miselu C.24 日本でも12/16からSoftbankで発売開始

KickstarterでMiselu の iPad用キーボード C.24 に出資してみた |

記事を読む

no image

[iPhone5] ステータスバーの謎の○(丸)表示

iPhone5使い始めて2日目、自宅でもLTE表示が出ていたのになぜかある時から○表示になってしまっ

記事を読む

no image

[iPhone SDK本] More iPhone Cool Projects (Cocos2d, Unity, OpenCV, など)

iPhone Cool Projects という本があったが、More iPhone Cool Pr

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Apple Special Event 2019

https://japanese.engadget.com/2019

WatchKitのAVSpeechSynthesizerで音が鳴らない

自作英単語学習アプリ EverLearn には watchOS用アプ

進撃の巨人10周年キャンペーン

2019/09/18まで、進撃の巨人10周年キャンペーン最終回まで一

ブログネタメモ

書きたいことがいろいろあるのだが書けていない。そのうちに忘れてしまう

リズムくんがタイ表示に対応しました

長らくお待たせしました。リズム学習アプリ「リズムくん」iPhone版

→もっと見る

  • 2013年4月
    « 3月   6月 »
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
PAGE TOP ↑