欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS 10撥打系統(tǒng)電話彈出框延遲出現(xiàn)問題的解決

 更新時間:2017年10月13日 10:21:52   作者:開發(fā)仔XG  
iOS10的到來,帶來了條幅和鎖屏界面的重新設計,美觀又好看,再加上抬腕喚醒功能,查看需要的信息確實更便捷了,還能快捷回復一些通知,十分輕松,但同樣有問題,下面這篇文章主要給大家介紹了關于iOS 10撥打系統(tǒng)電話彈出框延遲出現(xiàn)問題的解決方法,需要的朋友可以參考下。

前言

最近在開發(fā)中遇到了一些問題,發(fā)現(xiàn)iOS 10撥打系統(tǒng)電話發(fā)現(xiàn)彈出框會延遲2s左右出現(xiàn),很不爽,研究了一下,發(fā)現(xiàn)是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及其以上系統(tǒng)彈出撥號框延遲的問題 
 /// 方案一 
 if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) { 
  /// 10及其以上系統(tǒng) 
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone] options:@{} completionHandler:nil]; 
 } else { 
  /// 10以下系統(tǒng) 
  [[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上不起作用

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

最新評論