iOS 打电话 发邮件

// 打电话
        // 弊端:使用该方法进行拨号之后,当电话挂断之后不会返回应用程序, 会停留在通话记录界面
//        NSURL *url = [NSURL URLWithString:@"tel://13261936021"];
//        [[UIApplication sharedApplication] openURL:url];
       
        // 在拨打电话之后会提示用户是否拨打, 当电话挂断之后会返回应用程序
       
        if (_webView == nil) {
            _webView = [[UIWebView alloc] initWithFrame:CGRectZero];
        }
        [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://13261936021"]]];

};

#import <MessageUI/MessageUI.h>

// 如果利用该方式发送短信, 当短信发送完毕或者取消之后不会返回应用程序
//        NSURL *url = [NSURL URLWithString:@"sms://10010"];
//        [[UIApplication sharedApplication] openURL:url];
       
        // 判断当前设备能否发送短信
        if (![MFMessageComposeViewController canSendText]) {
            NSLog(@"当前设备不能发送短信");
            return ;
        }
       
        MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
        // 设置短信内容
        vc.body = @"吃饭了没?";
        // 设置收件人列表
        vc.recipients = @[@"10010"];
        // 设置代理
        vc.messageComposeDelegate = self;
        // 显示控制器
        [self presentViewController:vc animated:YES completion:nil];

};

// 当邮件发送成功或者失败或者取消之后不会回到原来的应用程序
//        NSURL *url = [NSURL URLWithString:@"mailto://100[email protected]"];
//        [[UIApplication sharedApplication] openURL:url];

// 不能发邮件
        if (![MFMailComposeViewController canSendMail]) return;
       
        // 当邮件发送成功或者失败或者取消之后会回到原始程序
        MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];
       
        // 设置邮件主题
        [vc setSubject:@"会议"];
        // 设置邮件内容
        [vc setMessageBody:@"今天下午开会吧" isHTML:NO];
        // 设置收件人列表
        [vc setToRecipients:@[@"[email protected]"]];
        // 设置抄送人列表
        [vc setCcRecipients:@[@"[email protected]"]];
        // 设置密送人列表
        [vc setBccRecipients:@[@"[email protected]"]];
       
        // 添加附件(一张图片)
        UIImage *image = [UIImage imageNamed:@"lufy.jpeg"];
        NSData *data = UIImageJPEGRepresentation(image, 0.5);
        [vc addAttachmentData:data mimeType:@"image/jepg" fileName:@"lufy.jpeg"];
       
        // 设置代理
        vc.mailComposeDelegate = self;
        // 显示控制器
        [self presentViewController:vc animated:YES completion:nil];

};

发短信

MessageUI.framework,入下图

1 //发送短信的方法

2 -(void)sendMessage
 3 {
 4     //用于判断是否有发送短信的功能(模拟器上就没有短信功能)
 5     Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
 6     
 7     //判断是否有短信功能
 8     if (messageClass != nil) {
 9           //有发送功能要做的事情
10     }
11     else
12     {
13         
14          UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"iOS版本过低(iOS4.0以后)" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
15         
16         [alterView show];
17     }
18     
19     
20 }

(2).如果有发送短信功能的话,就得判断iOS版本释放支持"MFMessageComposeViewController". iOS4.0之后支持

 1     //有短信功能
 2         if ([messageClass canSendText]) {
 3               //发送短信
 4         }
 5         else
 6         {
 7             UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"该设备没有发送短信的功能~" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
 8
 9             [alterView show];
10         }
11

(3)、经过各种验证后确定设备可以使用MFMessageComposeViewController,我们就开始用了

 1          //实例化MFMessageComposeViewController,并设置委托
 2             MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
 3             messageController.delegate = self;
 4
 5
 6             //拼接并设置短信内容
 7             NSString *messageContent = [NSString stringWithFormat:@"亲爱的,这个是专属属你我应用的邀请码:%@",self.authCodeLabel.text];
 8             messageController.body = messageContent;
 9
10             //设置发送给谁
11             messageController.recipients = @[self.phoneNumberTextField.text];
12
13             //推到发送试图控制器
14             [self presentViewController:messageController animated:YES completion:^{
15
16             }];

(4),差点给忘了,实现相应的委托回调协议是少不了的~要实现MFMessageComposeViewControllerDelegate,UINavigationControllerDelegate这两个协议。发送后的回调如下:

 1 //发送短信后回调的方法
 2 -(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
 3 {
 4     NSString *tipContent;
 5     switch (result) {
 6         case MessageComposeResultCancelled:
 7             tipContent = @"发送短信已";
 8             break;
 9
10         case MessageComposeResultFailed:
11             tipContent = @"发送短信失败";
12             break;
13
14         case MessageComposeResultSent:
15             tipContent = @"发送成功";
16             break;
17
18         default:
19             break;
20     }
21
22     UIAlertView *alterView = [[UIAlertView alloc] initWithTitle:@"提示" message:tipContent delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
23     [alterView show];
24 }
时间: 2024-11-07 13:40:02

iOS 打电话 发邮件的相关文章

ios打电话发短信接口

电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//打电话 使用openURL这个API打电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?有两种方法与大家分享. 第一种是用UIWebView加载电话,这种是合法的,可以上A

iOS打电话发短信发邮件总结

今天把APP里常用小功能 例如发短信.发邮件.打电话. 全部拿出来简单说说它们的实现思路. 1.发短信 实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点. 1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中 1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; 2.优点: –简单 3.缺点:

iOS调用发邮件,打电话,发短信,自带浏览器接口的介绍

1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; 2.调用 电话phone [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]]; 3.调用 SMS [[UIApplication s

iOS 打电话 发短信(转载)

官方代码 发短息和邮件添加MessageUI.framework 库 发送信息 - (IBAction)showSMSPicker:(id)sender { // You must check that the current device can send SMS messages before you // attempt to create an instance of MFMessageComposeViewController.  If the // device can not se

ios 打电话 发短信

打电话: 第一种:利用私有API,appStore不合法 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]] 第二种:UIWebView加载电话,这种是合法的,可以上App Store的 UIWebView*callWebview =[[UIWebView alloc] init]; NSURL *telURL =[NSURL URLWithString:@"tel:

iOS中打电话、打开网址、发邮件、发短信等

常用小功能 小功能简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话-方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedApplication] openURL:url]; 缺点 电话打完后,不会自动回到原应用,直接停留在通话记录界面 打电话-方法2 拨号之前会弹框询问用户是否拨号,拨完后能

iOS打电话、发短信、发邮件功能

以下为学习过程中在网上查到的方法, 实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点. 1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中 1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; 2.优点: –简单 3.缺点: –不能指定短信内容,而且不能自动回到原应用 1.2发短信(2)——M

IOS,发短信,发邮件,打电话

今天把APP里常用小功能 例如发短信.发邮件.打电话.全部拿出来简单说说它们的实现思路. 1.发短信实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点.1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; 2.优点:–简单3.缺点:–不能指定短信

猫猫学iOS(四十五)之常用的小功能比如打电话、打开网址、发邮件、发短信打开其他应用。

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信.打开其他应用等. 打电话 方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedA