iOS开发 iOS 10拨打系统电话,弹出框延迟出现问题
来源:互联网 发布:数据灾备技术 编辑:程序博客网 时间:2024/06/06 04:47
iOS 10拨打系统电话发现弹出框会延迟2s左右出现,很不爽,研究了一下,发现是openURL在iOS 10及其之后会阻塞主线程
所以,拨打电话前,做个判断,来代码,
// 拨打电话+ (void)callPhone:(NSString *)phoneNum { if ([ISNULL(phoneNum) length] == 0) { [SVProgressHUD showErrorWithStatus:@"拨打失败,手机号码不存在" duration:1.0 dismiss:nil]; return; } NSString *callPhone = [NSString stringWithFormat:@"telprompt://%@", phoneNum]; /// 解决iOS10及其以上系统弹出拨号框延迟的问题 /// 方案一 if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) { /// 10及其以上系统 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone] options:@{} completionHandler:nil]; } else { /// 10以下系统 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]]; } /// 方案二// dispatch_async(dispatch_get_global_queue(0, 0), ^{// [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]];// }); }
关于拨打电话的方法,导致弹出框延迟的原因,目前初步诊断就是openURL在iOS 10及其之后会阻塞主线程,方案二在iOS 11上不起作用
2 1
- iOS开发 iOS 10拨打系统电话,弹出框延迟出现问题
- 关于iOS 10以上调用系统拨打电话方法,弹出框弹出变慢的问题
- iOS 拨打系统电话弹窗延迟问题
- IOS开发 拨打电话
- ios开发之拨打电话
- iOS开发- 拨打电话总结
- iOS开发- 拨打电话总结
- ios 调用系统拨打电话方法
- ios 拨打电话系统回调函数
- iOS 调用系统原生拨打电话
- iOS开发点击数字拨打电话
- iOS开发跳转AppStore、拨打电话
- ios 拨打电话
- IOS 电话拨打
- IOS 调用拨打电话
- iOS拨打电话
- iOS拨打电话
- IOS 拨打电话
- 《Credit Risk Scorecards》读书笔记
- 使用rdp协议访问远程Linux桌面
- Qt实现读取显示obj文件——多线程加载纹理
- SpringMVC基础入门--创建一个HelloWorld程序
- linux命令之---chmod命令用于文件调用权限分配:文件拥有者、群组、其他
- iOS开发 iOS 10拨打系统电话,弹出框延迟出现问题
- 生产者/消费者问题的多种Java实现方式
- JS 伪继承 prototype
- java中String和数组的长度
- android五大布局
- 1022. D进制的A+B (20)
- 还不算太迟吧
- linux上搭建maven+nexus私人仓库
- 类型模板形参