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

やはり新touchは待ちか…

今年のiPodイベントは、超びっくりは無かったけれどもまずまずみんな満足したのだろうか。 自分はカメ

記事を読む

no image

[iPhone開発本] オライリー iPhoneアプリケーション開発ガイド 感想その1

面白そうだったので発売日に買ってみた。1995円と安いのもすばらしい。 しかしタイトルは一ひねりした

記事を読む

no image

Corona SDK 調査2日目

昨日はとりあえずCorona SDKを使って付属のLuaのサンプルアプリをiPhone実機上で動かし

記事を読む

no image

App Store のスクリーンショットの解像度がいつの間にか変更されている

2ヶ月ぶり位で App Store にアップデートをSubmitしようとしたところ、アップデート

記事を読む

no image

iPhoneアプリの無料版と有料版を同じソースから作りたい

こども向けに作った自作アプリおんぷちゃんは、習作でもあったのでiPhone無料版、iPhone有料版

記事を読む

Apple Event Sep 2021

ついに後数時間で Apple Event 2021.09.15 がある。 今年は何かサプライ

記事を読む

no image

EDAMTimestamp と NSDate の相互変換

Evernote SDKを使ったアプリで EDAMTimestamp を DBに格納する前に NSD

記事を読む

no image

iPhone アプリアイコン設定

AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア

記事を読む

no image

[iPhone SDK] Apple Push Notification を利用したアプリをサポートする Easy APNS

以前 apns-php を使ってApple Push Notification を実行する話を書いた

記事を読む

2020年大晦日

毎年年末は家族で旅行に出かけていたが、今年はコロナウィルスの影響もあり自宅で静かに過ごすこ

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

→もっと見る

  • 2013年4月
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
PAGE TOP ↑