BLOG

2014年2月15日/ iOS, MessageUI, MFMailComposeViewController

[iOS] アプリ内メール送信モーダル画面の表示方法

 

アプリを友達に紹介する導線などでアプリ内からメールを送信したい場合があると思います。

 

URLスキームによる連携ではアプリの切り替えが発生してしまうため、アプリ内ですべて処理を簡潔した場合の方法をご紹介します。

 

MessageUI.framework

 

MessageUIフレームワークのMFMailComposeViewControllerを利用することで、通常のモーダルによる画面遷移のようにメール送信画面を表示し、メール作成や送信をすることができます。

 まずはプロジェクトにMessageUI framewarkを追加します。

 MessageUIframework

 

フレームワークの追加が完了したら、表示させたいViewControllerに下記をインポートします。

 

 

メールの送信可能確認

メールの送信にはメールのアカウントが設定されている必要があります。

canSendMailにてメールの送信可否をチェックして可能な場合だけモーダルで送信画面を起動します。

 

 

 送信結果を受け取る

 

送信結果はMFMailComposeViewControllerのデリゲートに設定すると、mailComposeController: にて取得できます。

 

 

メール送信画面を表示する画面から戻れなくなるケースがありましたので、インスタンスは毎回生成と破棄を行ってください。

 

Resent Posts

Category