iOS调用系统发短信功能详解

iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信。2,程序内调用系统发短信。第二种的好处是用户发短信之后还可以回到app。这对app来说非常重要。

程序外调用系统发短信

这个方法其实很简单,直接调用openURL即可:

 


1
[[UIApplication sharedApplication]openURL:[NSURL URLWithString: @sms : //13888888888]];

 

程序内调用系统发短信

1)导入MessageUI.framework,并引入头文件:

1
# import <messageui messageui.h= "" ></messageui>

2)实现代理方法MFMessageComposeViewControllerDelegate

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   -( void )messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
     [self dismissViewControllerAnimated:YES completion:nil];
     switch (result) {
         case MessageComposeResultSent:
             //信息传送成功
 
             break ;
         case MessageComposeResultFailed:
             //信息传送失败
 
             break ;
         case MessageComposeResultCancelled:
             //信息被用户取消传送
 
             break ;
         default :
             break ;
     }
}

3)发送短信

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
   -( void )showMessageView:(NSArray *)phones title:(NSString *)title body:(NSString *)body
{
     if ( [MFMessageComposeViewController canSendText] )
     {
         MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc] init];
         controller.recipients = phones;
         controller.navigationBar.tintColor = [UIColor redColor];
         controller.body = body;
         controller.messageComposeDelegate = self;
         [self presentViewController:controller animated:YES completion:nil];
         [[[[controller viewControllers] lastObject] navigationItem] setTitle:title]; //修改短信界面标题
     }
     else
     {
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@提示信息
                                                         message:@该设备不支持短信功能
                                                        delegate:nil
                                               cancelButtonTitle:@确定
                                               otherButtonTitles:nil, nil];
         [alert show];
     }
}

 

参数phones:发短信的手机号码的数组,数组中是一个即单发,多个即群发。

4)调用发短信的方法

1
[self showMessageView:[NSArray arrayWithObjects: @13888888888 , @13999999999 , nil] title: @test body:@你是土豪么,么么哒];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值