【iOS】短信发送

作者: Life_小贤 | 来源:发表于2019-04-30 16:50 被阅读6次

    其实发送短信其实有两个方法

    方法一:
    UIApplication中openURL的方法
    如下:

    UIApplication *app = [UIApplication sharedApplication];
    [app openURL:[NSURL URLWithString:@"sms://13007310000"]];
    

    这个方法,并不是很高级,因为只能写好联系人,下面提供一个方法,可以直接编辑好内容还有收信人的!

    方法二:

    第一步
    首先导入框架MessageUI.framework

    第二步
    导入头文件#import <MessageUI/MessageUI.h>

    第三步
    签订协议 <MFMessageComposeViewControllerDelegate>
    并实现协议方法

    - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
        NSLog(@"%s",__func__);
        switch (result) {
            case MessageComposeResultSent:
                NSLog(@"MessageComposeResultSent");
                break;
            case MessageComposeResultFailed:
                NSLog(@"MessageComposeResultFailed");
                break;
            case MessageComposeResultCancelled:
                NSLog(@"MessageComposeResultCancelled");
                break;
                
            default:
                break;
        }
        [controller dismissViewControllerAnimated:YES completion:nil];
    }
    

    第四步
    判断设备是否支持发送短信,支持的话在跳入到短信界面,编辑好短信的内容和收信人;不支持的话,则会有个弹框提示!

        UIViewController * VC;
        if ([MFMessageComposeViewController canSendText]) {
            MFMessageComposeViewController* composeVC = [[SMSViewController alloc] init];
            composeVC.messageComposeDelegate = self;
            composeVC.recipients = @[@"13007310000"];
            composeVC.body = @"Hello from California!";
            VC = composeVC;
        }else{
            UIAlertController * alertVC = [UIAlertController alertControllerWithTitle:@"温馨提示" message:@"您的设备不支持短信功能" preferredStyle:UIAlertControllerStyleAlert];
            VC = alertVC;
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [alertVC dismissViewControllerAnimated:YES completion:nil];
            });
        }
        [self presentViewController:VC animated:YES completion:nil];
    

    不过本人求一个方法,可以直接把短信给发送出去了的,为这个方法只能编辑好,最后还是要用户自己点击一下发送按钮,有不有什么方法可以直接发送出去了呢!希望各位赐教留言!!

    相关文章

      网友评论

        本文标题:【iOS】短信发送

        本文链接:https://www.haomeiwen.com/subject/bcvvnqtx.html