美文网首页
iOS 10.2之后拨打电话 不弹窗或多弹窗

iOS 10.2之后拨打电话 不弹窗或多弹窗

作者: 没有时间机器 | 来源:发表于2017-05-08 12:39 被阅读0次

    iOS 10.2 之前,为了交互良好,在调用拨打电话之前会自己设置弹框;在IOS10.2之后系统做了改版,对App调用别的一些权限的时候系统会自己触发弹框,所以需要分版本处理。

    • 注:解决系统有的系统弹2次框,有的系统不弹框。

    判定当前的手机系统时候为IOS10.2

    - (BOOL)isCurrentMobileSystem10_2 {
        NSString *systemVersion = [[UIDevice currentDevice] systemVersion];
        if ([systemVersion compare:@"10.2" options:NSNumericSearch] == NSOrderedDescending || [systemVersion compare:@"10.2" options:NSNumericSearch] == NSOrderedSame) {
            return YES;
        }
        return NO;
    }
    

    点击电话操作

    -(void)telephone {
        if ([CommonTools isCurrentMobileSystem10_2]) { 
        //IOS10.2之后
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",COMPANYPHONENUM]]];
        }
        else { 
        //IOS10.2之前
             UIAlertController *alertController = [UIAlertController alertControllerWithTitle:COMPANYPHONENUM message:nil preferredStyle:UIAlertControllerStyleAlert];
            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { 
            }];
            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",COMPANYPHONENUM]]];
            }];
            [okAction setValue:COLORRPLUS forKey:@"_titleTextColor"];
            [cancelAction setValue:COLORFONTBLACK forKey:@"_titleTextColor"];
            [alertController addAction:cancelAction];
            [alertController addAction:okAction];
            [self presentViewController:alertController animated:YES completion:nil];
        }
    }
    

    相关文章

      网友评论

          本文标题:iOS 10.2之后拨打电话 不弹窗或多弹窗

          本文链接:https://www.haomeiwen.com/subject/igymtxtx.html