两种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调用系统发短信的两种方法,希望对大家有所帮助。