【发布时间】:2011-12-27 12:27:16
【问题描述】:
我已经搜索和搜索,但我似乎无法找到解决此问题的方法。
由于某种原因,我无法在 UIWebView 中获取“电话:”链接。单击链接时,会出现“无法显示 URL”消息。在 Safari 中单击相同的链接可以正常工作并拨打号码。
这个问题始于 iOS 5。这些链接在 iOS 4.2 和 4.3 中完美运行。
我不确定还有哪些其他信息可能有用,所以如果我需要澄清,请告诉我。
谢谢!
编辑:
这是实际使用的代码...
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = request.URL;
if ([url.scheme isEqualToString:@"tel"]) {
return YES;
}
if (![url.scheme isEqualToString:@"http"] && ![url.scheme isEqualToString:@"https"]) {
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
return NO; // Let OS handle this url
}
}
[NSThread detachNewThreadSelector:@selector(startBusy) toTarget:self withObject:nil];
return YES;
}
如果我取出第一个 if 语句,号码会立即拨打,无需确认。我真的很希望它能够像以前那样通过发出警报来发挥作用,让您可以选择在拨打号码之前点击“呼叫”或“取消”。
【问题讨论】:
-
确认有没有特殊字符?
-
@Hitman 是的 - 链接看起来像 tel:########## (使用实际数字,而不是井号)。有些有破折号,但是否包含它们似乎没有区别。
标签: iphone ios xcode uiwebview