通用链接无法与WKWebView一起使用

我在公司有基于web-view的应用程序和其他本机应用程序。 我们使用universal links在需要时将用户重定向到其他应用程序(其他应用程序仍然支持universal links – 我可以通过按Apple Notes app链接来运行它们)。 我们最近转向了WKWebView (来自UIWebView ),它提供了更好的体验方式。 但更新后, Universal Links停止工作,当用户在我们的应用程序内按链接时,我们无法启动其他应用程序。

根据文件:

“通用链接允许iOS 9用户在WKWebView和UIWebView视图和Safari页面中点击指向您网站的链接时打开您的应用,此外还有导致调用openURL的链接:,例如在Mail,Messages和其他应用。”

资料来源: https : //developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

似乎WKWebView没有处理Universal Links 。 我的问题是,我是否遗漏了WKWebView一些特殊配置,或者这是WebKit错误? 我正在创建提供的Web视图:

 WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.allowsInlineMediaPlayback = YES; config.processPool = // Here I'm using shared process pool self.webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config]; self.webView.translatesAutoresizingMaskIntoConstraints = NO; self.webView.clipsToBounds = YES; self.webView.allowsBackForwardNavigationGestures = YES; if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) { self.webView.allowsLinkPreview = YES; } [self addSubview:_webView]; 

为了显示问题,我使用简单的应用程序创建了简单的存储库( https://github.com/apan06/UniversalLinks – 初始化非常简单)。 有两个Web视图WKWebViewUIWebView都有简单的html,只有Twitter链接。 WKWebView只是加载Twitter页面。 另一方面, UIWebView打开Twitter应用程序。 请记住: – 在安装了Twitter应用程序的设备Twitter测试它,如果你没有Twitter app或不喜欢Twitter你可以更改链接 – 我在iPhone 6使用iOS 9.2.1进行测试

谢谢!

我相信WKWebView中存在一个错误,如果没有设置导航委托,它会忽略通用链接。 尝试设置WKWebView的导航委托。 您不必实现任何委托方法。