iOS开发中打电话发短信等功能的实现

在APP开发中,可能会涉及到打电话、发短信、发邮件等功能。比如说,通常一个产品的“关于”页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉及到了打电话的功能。

iOS开发中,有三种方式可以打电话:

(1)直接跳到拨号界面,代码如下


1

2

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

 [[UIApplication sharedApplication] openURL:url];

缺点:电话打完后,不会自动回到原应用,直接停留在通话记录页面。

(2)拨号之前会弹框询问,打完电话后能自动回到原应用。代码如下:


1

2

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

[[UIApplication sharedApplication] openURL:url];

缺点:私有API,因此可能通不过苹果官方审核。如果是企业级应用(不需要上线appStore),可以使用这个方法。

(3)创建一个UIWebView来加载URL,拨完后能自动回到原应用。代码如下:


1

2

3

UIWebView *webView = [[UIWebView alloc]init];

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

[webView loadRequest:[NSURLRequest requestWithURL:url ]];

推荐使用第三种方法。

有两种方式可以发短信。

(1)直接跳转到发短信界面。代码:


1

2

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

[[UIApplication sharedApplication] openURL:url];

缺点:不能定义发送短信的内容,且发完短信后不能自动回到原应用。

(2)使用MessageUI 框架发送短信,需要包含头文件 #import <MessageUI/MessageUI.h>,代码如下:


1

2

3

4

5

6

7

8

9

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

//设置短信内容

vc.body = @"吃饭了没";

//设置收件人列表

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

//设置代理

vc.messageComposeDelegate = self;

//显示控制器

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

另外实现代理函数:


1

2

3

4

5

6

7

8

/**

 *  点击取消按钮会自动调用

 *

 */

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

{

    [controller dismissViewControllerAnimated:YES completion:nil];

}

建议使用第二种方法。

有两种方式可以发邮件。

(1)用自带的邮件客户端,代码如下:


1

2

NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];

[[UIApplication sharedApplication] openURL:url];

缺点:发完邮件后不会自动回到原应用

(2)类似于发短信的第二种方法,使用MessageUI,代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

if(![MFMailComposeViewController canSendMail]) return;

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

//设置邮件主题

[vc setSubject:@"测试会议"];

//设置邮件内容

[vc setMessageBody:@"开会" isHTML:NO];

//设置收件人列表

[vc setToRecipients:@[@"[email protected]"]];

//设置抄送人列表

[vc setCcRecipients:@[@"[email protected]"]];

//设置代理

vc.mailComposeDelegate = self;

//显示控制器

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

实现代理方法:


1

2

3

4

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

{

    [controller dismissViewControllerAnimated:YES completion:nil];

}

时间: 2024-12-29 04:15:35

iOS开发中打电话发短信等功能的实现的相关文章

html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片.打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio

html5开发手机打电话发短信功能

原文:http://www.open-open.com/code/view/1449843459332 在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片. 打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DO

ios 调用打电话,发短信的功能

首先: Frameworks中要引入MessageUI.framework #import <MessageUI/MessageUI.h> 添加协议:<MFMessageComposeViewControllerDelegate> 之后看代码: 有两种短信调用,1种是调用系统内的短信功能,可以发完短信返回app,另一种调用系统外的发短信功能,不能反悔app //调用系统内的发短信功能,可以返回app if ([MFMessageComposeViewController canSe

ios打电话发短信接口

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

向android模拟器打电话发短信的简单方法

在开发android应用程序时,有时候需要测试一下向android手机拨打电话发送短信时该应用程序的反应.譬如编写一个广播接收器,来提示用户有短信收到或者处理短信,就需要向该手机发送短信来进行测试.这里介绍一种简单的向android模拟器打电话发短信的方法. 该方法利用了eclipse ADT的DDMS来实现,首先点击打开DDMS,在eclipse界面的右上角,如图: 如果找不到,就点左边的图标,再点击others就会看到. 打开之后,在界面的左边中部会看见有一个Emulator Control

【转】如何向Android模拟器打电话发短信

转载地址:http://hi.baidu.com/jeremylai/item/420f9c9fe4881fccb62531f7 1. 启动Android Emulator, 查看标题栏找出端口.一般是android emulator(5554),其中5554就是端口. 2. 打开命令行,输入telnet localhost 5554.程序将会连接到android emulator,控制台会返回 Android Console: type ‘help’ for a list of command

调用打电话发短信

iOS 调用系统发短信以及打电话功能 分类: iOS 短信 电话 2012-08-01 16:29 13092人阅读 评论(0) 收藏 举报 ios电话smsinterface互联网class 先介绍一种最简单的方法: 调用打电话功能 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]]; 调用发短信功能 [[UIApplication sharedApplication]open

iOS开发之调用系统打电话发短信接口以及程序内发短信

在本篇博客开头呢,先说一下写本篇的博客的原因吧.目前在做一个小项目,要用到在本应用程序内发验证码给其他用户,怎么在应用内发送短信的具体细节想不大起来了,于是就百度了一下,发现也有关于这方面的博客,点进去看了看,个人感到有点小失望,写的太不详细,只是简单的代码罗列,而且代码也没注释,大概是因为太简单了吧.今天在做完项目的发短信功能后感觉有必要把这部分内容整理一下,做个纪念也是好的不是吗.废话少说,切入今天的正题.下面的发短信,打电话当然需要真机测试了. 一.调用系统功能 在iOS中打开系统本身的打

【学习ios之路:UI系列】实现打电话,发短信,发邮件功能

①发短信 1.创建Button ,添加button的响应事件 UIButton *callButton = [UIButton buttonWithType:UIButtonTypeCustom]; callButton.frame = CGRectMake(80, 150, 80, 80); callButton.backgroundColor = [UIColor cyanColor]; [callButton setTitle:@"短信" forState:UIControlSt