iOS 三种打电话方式

打电话.gif

api

- (BOOL)openURL:(NSURL*)url NS_DEPRECATED_IOS(2_0, 10_0, "Please use openURL:options:completionHandler: instead") NS_EXTENSION_UNAVAILABLE_IOS("");
- (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion NS_AVAILABLE_IOS(10_0) NS_EXTENSION_UNAVAILABLE_IOS("");

方案1: @"tel:%@"

    NSString * telStr = [NSString stringWithFormat:@"tel:%@",@"12306"];
     //iOS10以后
    if (@available(iOS 10.0, *)) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telStr] options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} completionHandler:^(BOOL success) {
        }];
    } else {
        //iOS10以前
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telStr]];
    }

iOS10以前该方案直接就打电话,没有提示框,挂断后不返回到当前应用,iOS 10以后有提示框并且返回到当前应用,并且多了一个api
方案2: @"telprompt://%@"

    NSString * telStr = [NSString stringWithFormat:@"telprompt://%@",@"12306"];
       //iOS10以后
    if (@available(iOS 10.0, *)) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telStr] options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} completionHandler:^(BOOL success) {
        }];
    } else {
        //iOS10以前
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telStr]];
    }

该方案有提示框并且返回到当前应用,但@"telprompt://%@"非正式在AppStore发布好像审核通过不了(待验证)
方案3:用UIWebView加载url

    NSString * telStr = [NSString stringWithFormat:@"tel:%@",@"12306"];
    UIWebView * webV = [[UIWebView alloc]init];
    [webV loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:telStr]]];
    [self.view addSubview:webV];

该方案有提示框并且返回到当前应用,但测试感觉响应相对较慢.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,537评论 0 12
  • 最近项目中需要使用到点击号码然后拨打电话,并且统计用户是否拨打出去电话,然后发现原来的使用WebView方式无法获...
    不知名_伍毛阅读 2,504评论 6 11
  • 若天不昭兮吾清之 若佛不度兮吾悔之 若世不容兮我应之 则自律,自省,自悟 定毁于世而不转之 定夺则法度逝而惧之 定...
    雪十三阅读 231评论 0 0
  • 转眼大学已过了两年了,迎来了第四个考试月,医学院的期末考也与高考一样兵荒马乱。只是如今的我多了一份沉静,少了一份浮...
    随你脾气阅读 446评论 13 7