MFMailComposeViewController

メールをopenURLを使わずに送る方法. 但し, OS3.0以降.

MessageUI.frameworkを追加してMessageUI/MessageUI.hとMessageUI/MFMailComposeViewController.hをインポート.

使いたいビューにMFMailComposeViewControllerDelegateを実装する.
多分
- (void) mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
を実装してればおk.

この中で

    switch (result) {
        case MFMailComposeResultCancelled:
        case MFMailComposeResultSaved:
        case MFMailComposeResultSent:
        case MFMailComposeResultFailed:
        default:
    }


こんなことやって結果で条件分岐させたり. 最後に

    [controller dismissModalViewControllerAnimated:YES];


とかすると戻れたり.

こいつを呼び出す時は

	MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
	picker.mailComposeDelegate = self;

	// BODY
	[picker setMessageBody:messageBody isHTML:NO];

	// TO
	[picker setToRecipients:[NSArray arrayWithObject:toAddress]];

	// CC [if needed];
	[picker setCcRecipients:[NSArray arrayWithObject:ccAddress]];

	// SUBJECT
	[picker setSubject:subject];

	[self presentModalViewController:picker animated:YES];
	[picker release];


こんな感じ. toAddressとかccAddressとかは全部NSStringで.
これを使うと添付ファイルも付けれる. けど省略.

Posted by on 2010_3_5 in 未分類,

コメントを残す