準備
MessageUI.framework を追加する。
ヘッダ
# import <MessageUI/MessageUI.h>
# import <MessageUI/MFMessageComposeViewController.h>
上記を import して、<MFMessageComposeViewControllerDelegate>
を delegate する。
実装
- (void)displaySMSComposerSheet {
// シミュレータでは SMS が起動しないので return する。
if(![MFMessageComposeViewController canSendText]) {
return;
}
MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
picker.messageComposeDelegate = self;
picker.body = [NSString stringWithUTF8String:MAIL_BODY];
picker.recipients = [NSArray arrayWithObjects:MAIL_TO, nil];
[self presentModalViewController:picker animated:YES];
}
MAIL_BODY に本文を、MAIL_TO に宛先を入れておくと ModalView で SMS が立ち上がる。
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
[self dismissModalViewControllerAnimated:YES];
}
送信完了後に ModalViewを閉じる必要があるので、上記も実装する。
result には送信キャンセル、送信完了など、SMS 送信ステータスが格納されている。