忍者ブログ

[PR]

2024年08月10日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

自分のアプリケーションのデータを標準のメールで送る

2009年06月29日
これまでは自分のアプリケーションで作ったデータをiPhoneから外へ出そうとすると、様々な困難がありました。標準のメール機能へファイルを受け渡す事が出来なかったからです。画像については標準の写真アプリにファイルを送る事が出来るため、写真アプリへデータを渡し、写真アプリを開いて画像を表示、さらにアクションからメールへ添付することで一応外へ出す事が出来ましたが、それもかなり回り道をしている状態でした。

私も自分のアプリケーションが持つデータを外へ出すために四苦八苦し、自前でSMTPやFTPのクライアント機能を実装してなんとか出口を作ってきました。ですがこれからはそんな苦労をしなくても簡単にメール添付でのデータ送信ができます。それは3.0ではMessageUIが追加されたからです。実際の利用方法はアップル提供のサンプル「MailComposer」を詳しく見れば分かると思います。簡単に説明すると、まずメール送信のビューへ進みたいビューのコントローラーのヘッダファイルへ

#import <MessageUI/MessageUI.h>

#import <MessageUI/MFMailComposeViewController.h>

を追加し、さらにMFMailComposeViewControllerDelegateに反応させるようにします。あとはメソッドファイル側でMFMailComposeViewController*型の変数を作り、必要なら宛先やCC、BCCの情報をそれぞれNSArrayにして渡します。さらに添付データをNSDataで、本文をNSStringで渡します。最後にこのメール編集用のコントローラーを表示させます。

メールを送信したか等の結果は

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error


で受け取ります。当たり前ですがMessageUI.frameworkの追加は忘れずに行いましょう。MailComposerのプロジェクトを開いておいて、自分のプロジェクトへドラッグアンドドロップしてしまうのが簡単で良いと思います。

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Trackback
トラックバックURL: