Iphone 如何在iOS SDK中为用户预合成SMS消息
我使用Apple Dev网站上的示例代码来学习如何设置预合成电子邮件,但是否有一种方法可以设置预合成的SMS消息,类似地?MFMessageComposeViewController上的body属性允许您设置消息正文,就像设置电子邮件一样Iphone 如何在iOS SDK中为用户预合成SMS消息,iphone,objective-c,sms,Iphone,Objective C,Sms,我使用Apple Dev网站上的示例代码来学习如何设置预合成电子邮件,但是否有一种方法可以设置预合成的SMS消息,类似地?MFMessageComposeViewController上的body属性允许您设置消息正文,就像设置电子邮件一样 查看文档:请参阅苹果开发中心的这篇文章: 首先,您必须将框架MessageUI添加到项目中,并导入库“MessageUI/MessageUI.h”。然后遵守协议 现在发送短信: - (IBAction) sendSMS:(id)sender { MFM
查看文档:请参阅苹果开发中心的这篇文章:
首先,您必须将框架
MessageUI
添加到项目中,并导入库“MessageUI/MessageUI.h”
。然后遵守协议
现在发送短信:
- (IBAction) sendSMS:(id)sender
{
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"The body of the SMS you want";
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
}
[controller release];
}
要捕获发送操作的结果,请执行以下操作:
- (void) messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch(result)
{
case MessageComposeResultCancelled: break; //handle cancelled event
case MessageComposeResultFailed: break; //handle failed event
case MessageComposeResultSent: break; //handle sent event
}
[self dismissModalViewControllerAnimated:YES];
}
PresentModalViewController现在在IOS 6中不推荐使用。所以我用
[self presentViewController:controller animated:YES completion:nil];
整个代码如下
-(IBAction)sendSMSButtonTouchupInside:(id)sender
{
MFMessageComposeViewController *controller =
[[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"Whatever you want";
controller.recipients = [NSArray arrayWithObjects:@"03136602888", nil];
controller.messageComposeDelegate = self;
[self presentViewController:controller animated:YES completion:nil];
}
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp" message:@"Unknown Error"
delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
switch (result)
{
case MessageComposeResultCancelled:
NSLog(@"Cancelled");
[alert show];
break;
case MessageComposeResultFailed:
[alert show];
break;
case MessageComposeResultSent:
break;
default:
break;
}
[self dismissViewControllerAnimated:YES completion:nil];
}