美文网首页
ios开发--ios10及其之后拨打系统电话,弹框出现延迟的解决

ios开发--ios10及其之后拨打系统电话,弹框出现延迟的解决

作者: zwing | 来源:发表于2020-06-15 10:16 被阅读0次

ios开发--ios10及其之后拨打系统电话,弹框出现延迟的解决办法

  • ios10 拨打系统电话,弹框延迟2s左右出现,研究发现是openURLios10及其之后会阻塞主线程。解决方案如下:

方案一:

NSComparisonResult compare = [[UIDevice currentDevice].systemVersion compare:@"10.0"];
if (compare == NSOrderedDescending || compare == NSOrderedSame) {
    /// 大于等于10.0系统使用此openURL方法
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:10086"] options:@{} completionHandler:nil];
} else {
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tel:10086"]];
}

方案二:

dispatch_async(dispatch_get_global_queue(0, 0), ^{
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tel:10086"]];
});

相关文章

网友评论

      本文标题:ios开发--ios10及其之后拨打系统电话,弹框出现延迟的解决

      本文链接:https://www.haomeiwen.com/subject/fwkcxktx.html