通用链接无法与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视图WKWebView
和UIWebView
都有简单的html,只有Twitter
链接。 WKWebView
只是加载Twitter
页面。 另一方面, UIWebView
打开Twitter
应用程序。 请记住: – 在安装了Twitter
应用程序的设备Twitter
测试它,如果你没有Twitter app
或不喜欢Twitter你可以更改链接 – 我在iPhone 6
使用iOS 9.2.1
进行测试
谢谢!
我相信WKWebView中存在一个错误,如果没有设置导航委托,它会忽略通用链接。 尝试设置WKWebView的导航委托。 您不必实现任何委托方法。
- 插座实验室
- 是否有可能以编程方式从Swift / Objective-C中的UIViewController或Storyboard获取基本UIViewController的标识符?
- 将FacebookSDK.framework添加到我自己的静态库中
- iPhone上的CoreMotion Bump vs. Shake
- 如何在精灵套件中呈现模态视图?
- Swift:触发TableViewCell导致另一个ViewController中的UIWebView中的链接
- UITextField获取焦点,然后由于在textFieldShouldReturn中返回YES而立即失去焦点
- 下标成员的Facebook SDK错误
- 在xx-xx-xxx中的UITextField格式