繁体   English   中英

如何在iOS SDK中为用户提供预组合的SMS消息

[英]How to have a precomposed SMS message for the user in iOS SDK

我使用Apple Dev网站上的示例代码来学习如何设置预先编写的电子邮件,但有没有办法设置预先组合的SMS消息,类似的?

首先,您必须将框架MessageUI添加到项目中并导入库"MessageUI/MessageUI.h" 然后遵循协议<MFMessageComposeViewControllerDelegate>

现在发送短信:

- (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];
}

MFMessageComposeViewController上的body属性允许您像设置电子邮件一样设置邮件正文。

查看文档: http//developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html

现在,IOS 6中不推荐使用PresentModalViewController。所以我使用了

[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];
}

请参阅Apple开发中心的这篇文章:

发送短信

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM