【问题标题】:calling functionality in ios8 take 9-10 seconds to open dial screenios8 中的通话功能需要 9-10 秒才能打开拨号屏幕
【发布时间】:2015-06-03 09:06:02
【问题描述】:

我已经编写了如下代码来拨打电话,按下通话按钮后需要 9-10 秒才能打开拨号屏幕。

   NSString *phoneURLString = [NSString stringWithFormat:@"tel:%@", phoneNumber];      
   NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",phoneURLString]];
  [[UIApplication  sharedApplication] openURL:url];

还有其他方法可以拨打电话吗?或者如何减少打开拨号屏幕所需的时间?

【问题讨论】:

    标签: objective-c ios8 phone-call


    【解决方案1】:

    这看起来像是线程问题。这段代码是从主线程调用的吗?如果不是,那么这是一个问题:UIKit 不是线程安全的,因此您必须从主线程执行所有操作:

    NSString *phoneURLString = [NSString stringWithFormat:@"tel:%@", phoneNumber];      
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",phoneURLString]];
    
    dispatch_async(dispatch_get_main_queue(), ^{
        [[UIApplication  sharedApplication] openURL:url];
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多