MFMessageComposeViewController 同样是在 MessageUI Framework 中的一个类别,而它的主要功能是用来制作 SMS 讯息的相关格式,它的使用方式如同 MFMailComposeViewController 一样,透过一些简单的设定,你也可以为你的应用程序加上 SMS 讯息的功能。
在使用上首先汇入 MessageUI Framework,并引用其头文件,Xcode 4 Framework 汇入方式可以参考
Xcode 4 新增 Framework 的方法一文。
#import <MessageUI/MessageUI.h>
接着在要使用此对象的类别上设定 <MFMessageComposeViewControllerDelegate> 代理。
接着就是实做在传送 SMS 讯息的程序代码了。
MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
//判断装置是否在可传送讯息的状态
if([MFMessageComposeViewController canSendText]) {
//设定SMS讯息内容
controller.body = @"你好嘛?";
//设定接传送对象的号码
controller.recipients = [NSArray arrayWithObjects:@"0912345678",nil];
//设定代理
controller.messageComposeDelegate = self;
//显示controller的画面
[self presentModalViewController:controller animated:YES];
}
至于讯息在传送之后则会触发以下的内部函数,并且可以从此函式所带入的参数来判断讯息是否传送成功,或是被使用者取消传送。
//使用者完成操作时所呼叫的内部函数
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
switch (result) {
case MessageComposeResultSent:
//讯息传送成功
break;
case MessageComposeResultFailed:
//讯息传送失败
break;
case MessageComposeResultCancelled:
//讯息被用户取消传送
break;
default:
break;
}
}
PS:关于 MFMailComposeViewController 的使用方式可以参考
MFMailComposeViewController 的基本使用方法ㄧ文。