美文网首页
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