gpt4 book ai didi

ios - 通用链接不适用于 WKWebView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:07 24 4
gpt4 key购买 nike

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

根据文档:

"Universal links let iOS 9 users open your app when they tap links to your website within WKWebView and UIWebView views and Safari pages, in addition to links that result in a call to openURL:, such as those that occur in Mail, Messages, and other apps."

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

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

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 View - WKWebViewUIWebView 都带有简单的 html,只有 Twitter 的链接。 WKWebView 只是加载 Twitter 页面。另一方面,UIWebView 打开 Twitter 应用程序。请记住:- 在安装了 Twitter 应用程序的设备上进行测试,如果您没有 Twitter 应用程序 或者不喜欢 Twitter,您可以更改链接- 我正在使用 iOS 9.2.1

iPhone 6 上进行测试

谢谢!

最佳答案

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

关于ios - 通用链接不适用于 WKWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35172678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com