iOS 开发----- 拨打电话

iPhone 10.2( 手机系统版本 > 10.2)之后,拨打电话的方法:

[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:[NSStringstringWithFormat:@"tel://XXXXXXXXX"]]];

会自动弹一个是否拨打电话的弹框。这就会导致一个问题,如果在10.2之前,拨打电话之前,自己写了一个弹框提示,那么在10.2之后,会弹出两个弹框,为了解决这个问题,需要做系统版本号的判断:

#define IOS103 [[[UIDevice currentDevice]systemVersion] floatValue] >=10.3

//判断手机系统版本,版本号低于10.3,就采用自定义弹框,否则就用系统弹框

if(IOS103) {

// openURL这个方法会阻塞主线程,导致打电话的弹框会延时2s弹出

       dispatch_async(dispatch_get_global_queue(0,0), ^{

            [[UIApplicationsharedApplication]openURL:[NSURLURLWithString [NSStringstringWithFormat:@"tel://0898-31862016"]]];

});

}else{

        NSString*mobile =@"XXXXXXXXX";

         UIAlertView*alertView = [[UIAlertViewalloc]initWithTitle:mobilemessage:nildelegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"呼叫",nil];

          [alertViewshow];

}

自定义弹框代理:

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

if(buttonIndex==1) {

[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:[NSStringstringWithFormat:@"tel://XXXXXXX"]]];

return;

}else

{

return;

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容