情诗网 >情话短信 > 正文

【iOS】短信发送

来源:情诗网    2021-02-18    分类:情话短信

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

方法一:
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];

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

热门文章