码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-10-18 01:02:54      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

常用小功能

小功能简介

iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话、打开网址、发邮件、发短信等

打电话-方法1

最简单最直接的方式:直接跳到拨号界面

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

[[UIApplication sharedApplication] openURL:url];

缺点

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

打电话-方法2

拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用

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

[[UIApplication sharedApplication] openURL:url];

缺点

因为是私有API,所以可能不会被审核通过

打电话-方法3

创建一个UIWebView来加载URL,拨完后能自动回到原应用

if (_webView == nil) {

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

}

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

 

需要注意的是:这个webView千万不要添加到界面上来,不然会挡住其他界面

发短信-方法1

直接跳到发短信界面,但是不能指定短信内容,而且不能自动回到原应用

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

[[UIApplication sharedApplication] openURL:url];

发短信-方法2

如果想指定短信内容,那就得使用MessageUI框架

包含主头文件

#import <MessageUI/MessageUI.h>

 

显示发短信的控制器

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

// 设置短信内容

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

// 设置收件人列表

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

// 设置代理

vc.messageComposeDelegate = self;

 

// 显示控制器

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

发短信-方法2

代理方法,当短信界面关闭的时候调用,发完后会自动回到原应用

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

{

    // 关闭短信界面

    [controller dismissViewControllerAnimated:YES completion:nil];

   

    if (result == MessageComposeResultCancelled) {

        NSLog(@"取消发送");

    } else if (result == MessageComposeResultSent) {

        NSLog(@"已经发出");

    } else {

        NSLog(@"发送失败");

    }

}

 

发邮件-方法1

用自带的邮件客户端,发完邮件后不会自动回到原应用

NSURL *url = [NSURL URLWithString:@"mailto://10010@qq.com"];

[[UIApplication sharedApplication] openURL:url];

发邮件-方法2

跟发短信的第2种方法差不多,只不过控制器类名叫做:MFMailComposeViewController

假设发送的邮件内容如右图所示,代码实现看备注

 

发邮件-方法2

邮件发送后的代理方法回调,发完后会自动回到原应用

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

{

    // 关闭邮件界面

    [controller dismissViewControllerAnimated:YES completion:nil];

   

    if (result == MFMailComposeResultCancelled) {

        NSLog(@"取消发送");

    } else if (result == MFMailComposeResultSent) {

        NSLog(@"已经发出");

    } else {

        NSLog(@"发送失败");

    }

}

打开其他常见文件

如果想打开一些常见文件,比如html、txt、PDF、PPT等,都可以使用UIWebView打开

只需要告诉UIWebView文件的URL即可

至于打开一个远程的共享资源,比如http协议的,也可以调用系统自带的Safari浏览器:

NSURL *url = [NSURL URLWithString:@”http://www.baidu.com"];

[[UIApplication sharedApplication] openURL:url];

应用间跳转

有时候,需要在本应用中打开其他应用,比如从A应用中跳转到B应用

 

首先,B应用得有自己的URL地址(在Info.plist中配置)

 

 

 

 

B应用的URL地址就是:mj://ios.itcast.cn

 

接着在A应用中使用UIApplication完成跳转

NSURL *url = [NSURL URLWithString:@"mj://ios.itcast.cn"];

[[UIApplication sharedApplication] openURL:url];

 

 

应用评分

为了提高应用的用户体验,经常需要邀请用户对应用进行评分

 

应用评分无非就是跳转到AppStore展示自己的应用,然后由用户自己撰写评论

 

如何跳转到AppStore,并且展示自己的应用

Ø方法1

NSString *appid = @"444934666";

NSString *str = [NSString stringWithFormat:

                 @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", appid];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

 

Ø方法2

NSString *str = [NSString stringWithFormat:

                 @"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

真机调试

真机调试的主要步骤

1.登录开发者主页
2.生成cer证书:cer是一个跟电脑相关联的证书文件,让电脑具备真机调试的功能
3.添加App ID:调试哪些app?
4.注册真机设备:哪台设备需要做真机调试?
5.生成MobileProvision文件:结合2、3、4生成一个手机规定文件
6.导入cer、MobileProvision文件

最终会得到2个文件

ØCer文件:让电脑具备真机调试的功能
ØMobileProvision文件:哪台设备、哪些app、哪台电脑需要做真机调试?

真机调试的步骤01-登录开发者主页

登录开发者主页

https://developer.apple.com/membercenter/index.action

 

管理证书(前提:得花99$或299$加入开发者计划)

 

 

 

 

 

 

 

 

 

真机调试的步骤02-生成cer证书

添加cer证书

 

真机调试的步骤02-生成cer证书

利用钥匙串生成cer签名请求文件

真机调试的步骤02-生成cer证书

选择cer签名请求文件,生成并且下载cer证书

真机调试的步骤03-添加App ID

添加App ID

真机调试的步骤04-注册真机设备

添加真机设备

真机调试的步骤04-注册真机设备

利用Xcode查看真机设备的唯一标识(插上USB数据线)

真机调试的步骤04-注册真机设备

填写设备名称和唯一标识

真机调试的步骤05-生成MobileProvision文件

添加MobileProvision文件

真机调试的步骤05-生成MobileProvision文件

选择App ID

真机调试的步骤05-生成MobileProvision文件

填写MobileProvision文件名

真机调试的步骤06-导入cer、MobileProvision文件

经过前面的几个步骤,已经得到2个文件

真机调试的步骤06-导入cer、MobileProvision文件

打开任意程序,选择真机设别,点击运行(第一次运行会出现右图)

替换旧的调试证书

 

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

标签:

原文地址:http://www.cnblogs.com/niexiaobo/p/4888723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!