iOS MessageUI 框架使用笔记

来源:互联网 发布:js跨域请求的问题 编辑:程序博客网 时间:2024/05/16 06:44
公司项目需求需要做群发短信的功能,于是开始了解一下短信这一块,并作一下笔记。iOS开发中使用发短信功能一般有两种方法,一:通过[UIApplication sharedApplication]openURL:@"",直接调用系统的短信功能,这种方式无法在应用内指定短信内容;二:利用MessageUI进行操作,可以做一些自定义的设置。如果彼此的手机都是iOS设备,并且开通了iMessage功能,彼此之间的短信是走网络通道,而不走运营商的通道!第二种方式用到MessageUI.framework框架,包括MFMailComposeViewController和MFMessageComposeViewController两个类,前者主要用于邮件,后者用于短信。操作步骤:  1. 导入框架:MessageUI.framework  2.  #import <MessageUI/MessageUI.h>  3. 添加协议:<MFMailComposeViewControllerDelegate>

pragma mark - Click Action

  • (void) showMessageViewAction
    {

    //判断设备能否发短信
    if ([MFMessageComposeViewController canSendText]) {
    MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];

    //设置代理picker.messageComposeDelegate = self;//默认信息内容picker.body = @"Hello World";//默认发件人picker.recipients = [NSArray arrayWithObject:@"12345678910"];[self presentViewController:picker animated:YES completion:nil];

    }else{

    UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"提示信息" message:@"该设备不支持短信" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];[alterView show];

    }

}

pragma mark - MFMessageComposeViewController Delegate

  • (void) messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
    {

    switch (result) {
    case MessageComposeResultCancelled:
    NSLog(@”取消发送”);
    break;
    case MessageComposeResultSent:
    NSLog(@”发送成功”);
    break;
    case MessageComposeResultFailed:
    NSLog(@”发送失败”);
    break;
    default:
    break;
    }
    [self dismissViewControllerAnimated:YES completion:nil];
    }

0 0
原创粉丝点击