iOS开发 iOS 10拨打系统电话,弹出框延迟出现问题
2017-03-31 16:26
441 查看
iOS 10拨打系统电话发现弹出框会延迟2s左右出现,很不爽,研究了一下,发现是openURL在iOS 10及其之后会阻塞主线程
所以,拨打电话前,做个判断,来代码,
关于拨打电话的方法,导致弹出框延迟的原因,目前初步诊断就是openURL在iOS 10及其之后会阻塞主线程,方案二在iOS 11上不起作用
所以,拨打电话前,做个判断,来代码,
// 拨打电话 + (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上不起作用
相关文章推荐
- iOS 10拨打系统电话弹出框延迟出现问题的解决
- iOS 拨打系统电话弹窗延迟问题
- iOS 10 拨打电话延迟的问题
- iOS开发 编辑框被系统弹出的软键盘遮挡问题
- iOS开发 iOS 10系统真机调试新问题-App installation failed
- iOS开发 编辑框被系统弹出的软键盘遮挡问题
- ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
- iOS 10 调用系统相册相机出现问题:-> 0x183a58d9c <+8>: b.lo 0x183a58db4 ; <+32>
- ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【iOS-Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- IOS开发键盘弹出时遮住输入框的问题
- IOS开发基本教程1 环境搭建中间有可能出现的问题
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/动画播放出现毛边以及禁止游戏中自动锁屏问题!【2011年12月18日补充】
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【iOS-Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- 返回上一页并刷新--开发一手机办公系统出现的问题
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/动画播放出现毛边以及禁止游戏中自动锁屏问题!【2011年12月18日补充】