iOS开发之系统发短信功能详解

来源:互联网 发布:云计算应用迁移方法 编辑:程序博客网 时间:2024/05/22 07:54

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

程序外调用系统发短信

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

[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"sms://13888888888"]];

程序内调用系统发短信

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

#import<MessageUI/MessageUI.h>

2)实现代理方法MFMessageComposeViewControllerDelegate

-(void)messageComposeViewController:(MFMessageComposeViewController*)controllerdidFinishWithResult:(MessageComposeResult)result

{

[selfdismissViewControllerAnimated:YEScompletion:nil];

switch(result){

caseMessageComposeResultSent:

//信息传送成功

break;

caseMessageComposeResultFailed:

//信息传送失败

break;

caseMessageComposeResultCancelled:

//信息被用户取消传送

break;

default:

break;

}

}

3)发送短信

-(void)showMessageView:(NSArray*)phonestitle:(NSString*)titlebody:(NSString*)body

{

if([MFMessageComposeViewControllercanSendText])

{

MFMessageComposeViewController*controller=[[MFMessageComposeViewControlleralloc]init];

controller.recipients=phones;

controller.navigationBar.tintColor=[UIColorredColor];

controller.body=body;

controller.messageComposeDelegate=self;

[selfpresentViewController:controlleranimated:YEScompletion:nil];

[[[[controllerviewControllers]lastObject]navigationItem]setTitle:title];//修改短信界面标题

}

else

{

UIAlertView*alert=[[UIAlertViewalloc]initWithTitle:@"提示信息"

message:@"该设备不支持短信功能"

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil,nil];

[alertshow];

}

}

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

4)调用发短信的方法

[selfshowMessageView:[NSArrayarrayWithObjects:@"13888888888",@"13999999999",nil]title:@"test"body:@"你是土豪么,么么哒"];

0 0
原创粉丝点击