2017-04-05 29 views

回答

1

openURL(_:)在IOS 10.

已弃用的新的UIApplication方法的OpenURL:选择:completionHandler :,其上执行 异步并在主队列上调用指定的完成处理程序 (此方法替换openURL :) 。

在IOS 10的新方法:

- (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options 
    completionHandler:(void (^ __nullable)(BOOL success))completion 

一样,

UIApplication *application = [UIApplication sharedApplication]; 
[application openURL:URL options:@{} completionHandler:nil]; 

实施例:

NSURL *URL = [NSURL URLWithString:@"tel:37146903"]; 

if([[UIDevice currentDevice].systemVersion floatValue] >= 10.0){ 

    if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) { 
    [application openURL:URL options:@{} 
     completionHandler:^(BOOL success) { 
     NSLog(@"Open %@: %d",scheme,success); 
    }]; 
    } else { 
    BOOL success = [application openURL:URL]; 
    NSLog(@"Open %@: %d",scheme,success); 
    } 


} 
else{ 

    bool can = [[UIApplication sharedApplication] canOpenURL:URL]; 

    if(can){ 

    [[UIApplication sharedApplication] openURL:URL]; 

    } 

} 

读出在这里更详细地:

https://useyourloaf.com/blog/openurl-deprecated-in-ios10/

+0

非常感谢您的帮助。 –

0
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:37146903"] options:@{} completionHandler:nil]; 

openURL在IOS已弃用10

+0

非常感谢您的回答。它正常工作。 –

0

我犯了一个错误,使应用程序无法进行细胞调用。 在打开网址进行手机调用之前,我调用了CXStartCallAction。我删除了调用CXStartCallAction。我的问题已解决。

相关问题