亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

最近在開發(fā)中遇到了一些問題,發(fā)現(xiàn)iOS 10撥打系統(tǒng)電話發(fā)現(xiàn)彈出框會(huì)延遲2s左右出現(xiàn),很不爽,研究了一下,發(fā)現(xiàn)是openURL在iOS 10及其之后會(huì)阻塞主線程

所以,撥打電話前,做個(gè)判斷,下面話不多說了,來一起看看詳細(xì)的介紹吧。

示例代碼:

// 撥打電話 
+ (void)callPhone:(NSString *)phoneNum { 
  
 if ([ISNULL(phoneNum) length] == 0) { 
  [SVProgressHUD showErrorWithStatus:@"撥打失敗,手機(jī)號(hào)碼不存在" duration:1.0 dismiss:nil]; 
  return; 
 } 
  
 NSString *callPhone = [NSString stringWithFormat:@"telprompt://%@", phoneNum]; 
  
 /// 解決iOS10及其以上系統(tǒng)彈出撥號(hào)框延遲的問題 
 /// 方案一 
 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]]; 
// }); 
  
} 

關(guān)于撥打電話的方法,導(dǎo)致彈出框延遲的原因,目前初步診斷就是openURL在iOS 10及其之后會(huì)阻塞主線程,方案二在iOS 11上不起作用

總結(jié)

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

相關(guān)文章

最新評(píng)論