iOS 发送邮件、打电话的调用

一、打电话

 NSString *phoneNum = @"";// 电话号码
 NSString *num = [[NSString alloc] initWithFormat:@"telprompt://%@",phoneNum]; //而这个方法则打电话前先弹框  是否打电话 然后打完电话之后回到程序中 网上说这个方法可能不合法 无法通过审核
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:num]]; //拨号

打电话很简单,但是这个不确定是否能通过审核...


二、发邮件

第一步:看看用户的设备是否能发邮件、是否设置过邮件账户,否则将不能使用

//激活邮件功能
- (void)sendMailInApp
{
    Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
    if (!mailClass) {
        (NSLog:@"提示" message:@"当前系统版本不支持应用内发送邮件功能");
        return;
    }
    if (![mailClass canSendMail]) {
        (NSLog:@"用户没有设置邮件账户");
        return;
    }
    [self sendEmail];
}


第二步:调用发邮件的ViewController,首先加入 MessageUI.FrameWork,然后在你需要的地方#import<MessageUI/MFMailComposeViewController.h>,就可以正常使用了。

//发送邮件的视图创建
 -(void)sendEmailVC{
MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
 mc.mailComposeDelegate = self;
//设置收件人
 NSString *emailAddress = @"abc@163.com";
 [mc setToRecipients:[NSArray arrayWithObjects:emailAddress,nil]];
//设置主题
 [mc setSubject:@"这是主题"];
//设置CC,就是抄送
 [mc setCcRecipients:[NSArray arrayWithObject:@"zhuqil@163.com"]];
//设置邮件主题,这是纯文本格式
 [mc setMessageBody:@"Watson!!!\n\nCome here, I need you!" isHTML:NO];
//设置邮件主题,HTML格式
//[mc setMessageBody:@"<HTML><B>Hello, Joe!</B><BR/>What do you know?</HTML>" isHTML:YES];
//添加附件,需要三个参数,一个是NSData类型的附件,一个是mimetype,一个是附件名称
 NSString *path = [[NSBundle mainBundle] pathForResource:@"blood_orange" ofType:@"png"];
 NSData *data = [NSData dataWithContentsOfFile:path];
 [mc addAttachmentData:data mimeType:@"image/png" fileName:@"blood_orange"];
 [self presentViewController:mc animated:YES completion:nil];
}

第三步:我们需要使用它的代理来完成发送结果返回的操作,当然需要MFMailComposeViewControllerDelegate

//邮件代理
#pragma mark - MFMailComposeViewControllerDelegate
- (void)mailComposeController:(MFMailComposeViewController*)controller
          didFinishWithResult:(MFMailComposeResult)result
                        error:(NSError*)error {
    switch (result)
    {
        case MFMailComposeResultCancelled:
            [self alertShowWithTitle:@"提示" message:@"邮件发送已取消"];
            break;
        case MFMailComposeResultSaved:
            [self alertShowWithTitle:@"提示" message:@"邮件已保存"];
            break;
        case MFMailComposeResultSent:
            [self alertShowWithTitle:@"提示" message:@"邮件已发送,我们将在2个工作日内回应!"];
            break;
        case MFMailComposeResultFailed:
            [self alertShowWithTitle:@"提示" message:@"邮件发送失败,请核实相关信息"];
            break;
        default:
            break;
    }
    [controller dismissViewControllerAnimated:YES completion:nil];
} 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值