调用系统发短信服务
原文地址
程序外调用(直接调用 openURL 即可)
NSURL *url = [NSURL URLWithString:@"sms://15888888888"];
[[UIApplication sharedApplication]openURL:url];
程序内调用
这种方法有一个好处就是用户发短信之后还可以回到 App.
1 首先要导入 MessageUI.framework,并引入头文件
#import
2 遵循代理 MFMessageComposeViewControllerDelegate
#pragma mark - 代理方法
-(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 发送短信方法实现
#pragma mark - 发送短信方法
-(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:nilcancelButtonTitle:@"确定"otherButtonTitles:nil, nil];[alert show];}
}
4 调用发送短信的方法
[self showMessageView:[NSArray arrayWithObjects:@"15888888888",@"12399999999", nil] title:@"test" body:@"这是测试用短信,勿回复!"];