iOS 打电话,发短信,发邮件 方法汇总

一.打电话

//打电话

        //弊端:使用该方法进行拨号之后,当电话挂断之后不会返回应用程序,会停留在通话记录界面

        NSURL *url=[NSURL URLWithString:@"tel://10010"];

        [[UIApplication sharedApplication] openURL:url];

        NSLog(@"tel://10010");

        

        //在拨打之后会提示用户是否拨打,当电话挂断之后会返回应用程序

        //弊端:因为是私有API,所有可能不会被审核通过

        NSURL *url1=[NSURL URLWithString:@"telprompt://10010"];

        [[UIApplication sharedApplication] openURL:url1];

        

        

        //真实开发用此种方式

        if (_webView==nil) {

            _webView = [[UIWebView alloc] initWithFrame:CGRectZero];

        }

        

        [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10010"]] ];


二.发短信

//如果利用该方式发送短信,当短信发送完毕或取消之后不会返回应用程序

        NSURL *url = [NSURL URLWithString:@"sms://10010"];

        [[UIApplication  sharedApplication] openURL:url];

        



//导入MessageUI框架,用此种方式发送短信

        if (![MFMessageComposeViewController canSendText])  {

            NSLog(@"该设备不能发送短信");

            return ;

        }

        

        //发短信

        MFMessageComposeViewController *vc=[[MFMessageComposeViewController alloc] init];

        //设置短信内容

        vc.body=@"短信内容";

        //设置收件人列表

        vc.recipients=@[@"10010",@"02010010"];

        //设置代理

        vc.messageComposeDelegate=self;

        

        //显示控制器

        [self presentViewController:vc animated:YES completion:nil];



//判断短信发送状态,取消发送短信模态视图  

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result

{

    //取消发短信模态视图

    [controller dismissViewControllerAnimated:YES completion:nil];

    

    if (MessageComposeResultCancelled==result) {

        NSLog(@"取消发送");

    }

    else if(MessageComposeResultSent==result)

    {

        NSLog(@"发送成功");

    }

    

    else

    {

        NSLog(@"发送失败");

    }


}



三.发送邮件


 if (![MFMailComposeViewController canSendMail]) {

            return ;

        }

    

        //发送邮件

        MFMailComposeViewController *vc=[[MFMailComposeViewController alloc] init];

        //设置邮件主题

        [vc setSubject:@"会议"];

        //设置邮件内容

        [vc setMessageBody:@"今天下午开会“" isHTML:NO];

        //设置收件人列表

        [vc setToRecipients:@[@"1198071487@qq.com"]];

        //设置抄送人列表

        [vc setCcRecipients:@[@"1198071487@qq.com"]];

        //设置密送人列表

        [vc setBccRecipients:@[@"563154033@qq.com"]];

        

        //添加附件(一张图片)

        UIImage *image=[UIImage imageNamed:@"picture.jepg"];

        NSData *data =UIImageJPEGRepresentation(image, 0.5);

        [vc addAttachmentData:data mimeType:@"image/jepg" fileName:@"picture.jepg"];

        

        //设置代理

        vc.mailComposeDelegate=self;

        

        //显示控制器,以模态方式打开

        [self presentViewController:vc animated:YES completion:nil];

      

#pragma mark -MFMailComposeViewControllerDelegate

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error

{

    //关闭邮件界面

    [controller dismissViewControllerAnimated:YES completion:nil];

    

    if (MFMailComposeResultCancelled==result) {

        NSLog(@"取消发送");

    }

    else if(MFMailComposeResultSent==result)

    {

        NSLog(@"发送成功");


    }

    

    else if (MFMailComposeResultSaved==result)

    {

        NSLog(@"保存成功");

    

    }

    else

    {

        NSLog(@"发送失败");

    }


}





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hNicholas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值