无法在ios10中以编程方式进行本机通话
问题描述:
我试图通过调用iOS10
上的[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:37146903"]]
进行手机呼叫,但未成功。如果你有这方面的经验,请帮助我。无法在ios10中以编程方式进行本机通话
由于
答
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];
}
}
读出在这里更详细地:
答
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:37146903"] options:@{} completionHandler:nil];
openURL
在IOS已弃用10
+0
非常感谢您的回答。它正常工作。 –
答
我犯了一个错误,使应用程序无法进行细胞调用。 在打开网址进行手机调用之前,我调用了CXStartCallAction。我删除了调用CXStartCallAction。我的问题已解决。
非常感谢您的帮助。 –