iOS常用小功能(电话,短信,邮件)

iOS中有很多的常用小功能:比如打电话,发邮件,发短信等:


一:打电话:

1:最简单直接的方法:直接跳转到拨号界面。

 NSURL * url = [NSURLURLWithString:@"110"];

    [[UIApplicationsharedApplication]openURL:url options:nilcompletionHandler:nil];

缺点:打完电话之后不会返回原来应用,直接停留在通话记录界面。


2:拨号之前弹框询问用户是否拨打电话,拨完电话之后会返回原应用。

NSURL *url2 = [NSURLURLWithString:@"telprompt://110"];

     [[UIApplicationsharedApplication]openURL:url2 options:nilcompletionHandler:nil];

缺点:因为是私有api所以不会被审核通过


3:创建一个UIWebView来加载一个URL,拨完之后会返回原应用。

 if (_webView ==nil) {

        

        _webView = [[UIWebViewalloc]initWithFrame:CGRectZero];

        

    }

    

    [_webViewloadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:@"tel://110"]]];

拨号之前会询问用户,拨完之后会返回原程序,注意:UIWebView不是设置大小。不然会挡住其他界面,只是用来打电话的,不需要显示。


二:发短信。


1:直接跳转到发短信界面,但是不能指定短信内容,而去不能返回原应用。

NSURL  * url3 = [NSURLURLWithString:@"sms://10010"];

    [[UIApplicationsharedApplication] openURL:url3 options:nilcompletionHandler:nil];


2:指定短信内容,需要使用MessageUI框架。

包含头文件:

#import<MessageUI/MessageUI.h>

  显示发短信的控制器

MFMessageComposeViewController *vc = [[MFMessageComposeViewControlleralloc] init];

设置短信内容

vc.body= @"下班了没?";

设置收件人列表

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

设置代理

vc.messageComposeDelegate =self;

 

显示控制器

[selfpresentViewController:vc animated:YES completion:nil];


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

- (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 alloc]initWithString:@"mailto:1100@qq.com"];

    [[UIApplication sharedApplication]openURL:url options:nil completionHandler:nil];


2:跟发送短信的第二种方法差不多,使用控制器叫:MFMailComposeViewController

包含头文件

#import <MessageUI/MessageUI.h>

遵循代理

@interface ViewController ()<MFMailComposeViewControllerDelegate>



 //2:初始化控制器

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

    

    VC.delegate = self;

    





#pragma MARK __代理事件__

- (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打开,只需要告诉打开的URL就行。

打开远程资源,比如使用http协议的,也可以使用系统自带的浏览器打开

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

[[UIApplication sharedApplication] openURL:url];


五:应用之间的跳转:有时候应用需要打开其他应用,比如从应用A跳转到应用B。

首先应用B 需要有自己的URL地址 需要在(Info.plist文件中配置);(配置请谷歌)

比如应用B的URL是    mj://iOS.itcast.cn

NSURL *url3 = [NSURL URLWithString:@"mj://iOS.itcast.cn"];

    [[UIApplication sharedApplication]openURL:url3 options:nil completionHandler:nil];


五:用户评分:为了提高应用的用户体验,经常需要邀请用户对自己的APP进行评分。需要套转到AppStore展示自己的应用,然后用户撰写评论:


方法

NSString *appid = @"7286423876578326;

NSString *str = [NSString stringWithFormat:

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


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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值