gpt4 book ai didi

ios - 禁用 WKWebView 打开链接以重定向到我的 iPhone 上安装的应用程序

转载 作者:IT王子 更新时间:2023-10-29 05:19:31 28 4
gpt4 key购买 nike

当我在谷歌上搜索并点击 Etsy.com 以获取 exmaple 时,WKWebView 将我重定向到安装在我的 iPhone 上的 Etsy 应用程序。如何禁用此行为?我希望 WKWebView 将我重定向到 etsy.com 移动网站。我正在使用 swift。

最佳答案

不幸的是,WKWebView不会将带有自定义方案的 url 发送回您的应用程序以自动处理。

如果您在没有特殊处理的情况下尝试此操作,在用户通过第三方服务进行身份验证后,您的 Web View 看起来会挂起,您将永远不会收到回调。您可以尝试使用具有标准 http 或 https 方案的重定向 URI,但随后 WKWebView只会尝试加载它,而不是将其从 Web View 定向到您的 native 应用程序来处理。

为了处理重定向,你需要实现decidePolicyForNavigationActionWebPolicyDelegate你的WKWebView检测自定义 URL 方案并将其定向到要处理的应用:

func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: ((WKNavigationActionPolicy) -> Void)) {
print("webView:\(webView) decidePolicyForNavigationAction:\(navigationAction) decisionHandler:\(decisionHandler)")

let app = UIApplication.sharedApplication()
let url = navigationAction.request.URL
let myScheme: NSString = "https"
if (url!.scheme == myScheme) && app.canOpenURL(url!) {
print("redirect detected..")
// intercepting redirect, do whatever you want
app.openURL(url!) // open the original url
decisionHandler(.Cancel)
return
}

decisionHandler(.Allow)
}

您可以找到详细信息here

关于ios - 禁用 WKWebView 打开链接以重定向到我的 iPhone 上安装的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37086605/

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