iOS中发送短信message------MessageUI框架

我们知道可以使用这样的代码在iPhone中发送短信:[[UIApplication sharedApplication]openURL:@"sms:12345678"];

但这样的方式无法指定短信内容。那么我们可以使用MessageUI框架。

1. 导入框架:MessageUI.framework

2. 遵循协议:MFMessageComposeViewControllerDelegate

3. #import 

代码:

//调用设备短信功能
- (void)showMessageView
{
     // 判断设备能不能发送短信
  if([MFMessageComposeViewController canSendText]){

 MFMessageComposeViewController*picker =[[MFMessageComposeViewControlleralloc] init]; // 设置代理 picker.messageComposeDelegate= self; // 默认信息内容 picker.body = @"你好!"; // 默认收件人(可设置多个) picker.recipients = [NSArrayarrayWithObject:@"12345678901"]; [self presentViewController:picker animated:YES completion:nil];

  }else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示信息"message:@"该设备不支持短信功能"delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];

 }}#pragma mark MFMessageComposeViewControllerDelegate 实现代理方法

 -(void)messageComposeViewController:(MFMessageComposeViewController*)controller didFinishWithResult:(MessageComposeResult)result{ switch (result){
        case MessageComposeResultCancelled:
            NSLog(@"取消发送");
            //点击取消时返回应用程序中
            [self dismissViewControllerAnimated:YES completion:nil];

            break;
        case MessageComposeResultFailed:{
            NSLog(@"发送失败");

             break;
        }
        case MessageComposeResultSent:{
            NSLog(@"发送成功");
    
        default:
            break;
    }

}
 
   注意

1)不要在case 下声明变量

2)case下执行多条语句时,可用{}将case中的代码括起来。


你可能感兴趣的:(iOS开发技术总结)