两种iOS调用系统发短信的方法
一、程序外调用系统发短信
这个方法其实很简单,直接调用openURL即可:
NSURL*url=[NSURLURLWithString:@"sms://15888888888"]; [[UIApplicationsharedApplication]openURL:url];
二、程序内调用系统发短信
这种方法有一个好处就是用户发短信之后还可以回到App.
首先要导入MessageUI.framework,并引入头文件:
#import<MessageUI/MessageUI.h>
然后要遵循代理MFMessageComposeViewControllerDelegate,并实现代理方法。
#pragmamark-代理方法
-(void)messageComposeViewController:(MFMessageComposeViewController*)controllerdidFinishWithResult:(MessageComposeResult)result
{
[selfdismissViewControllerAnimated:YEScompletion:nil];
switch(result){
caseMessageComposeResultSent:
//信息传送成功
break;
caseMessageComposeResultFailed:
//信息传送失败
break;
caseMessageComposeResultCancelled:
//信息被用户取消传送
break;
default:
break;
}
}
发送短信方法实现
#pragmamark-发送短信方法
-(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];
}
}
最后,调用发送短信的方法
[selfshowMessageView:[NSArrayarrayWithObjects:@"15888888888",@"12399999999",nil]title:@"test"body:@"这是测试用短信,勿回复!"];
以上就是小编给大家介绍的iOS调用系统发短信的两种方法,希望对大家有所帮助。