Apple itunes 应用 link 在 UIWebView 而不是 App Store 中打开

Apple itunes app link opens in UIWebView rather than App Store

我觉得我有点疯了。我在 deep links 和打开应用程序商店 links 上看到的所有内容都告诉我这应该有效,但事实并非如此。

我们的应用程序基本上是 UIWebView 的包装器,大部分功能都位于我们的网页中。我想从我们的网站 link 到 App Store 并将其拉出来。如果我从外部浏览器或其他任何东西这样做,它似乎工作。当我从我们的 web 视图上的 link 执行此操作时,我在我们的 Web 视图中获得了 App Store 预览。没有帮助。

这是我们 HTML 中的 link:

<td style="width: 50%; padding: 5px"><a href="https://itunes.apple.com/us/app/ab-classic/id343200656?mt=8"><img style="width: 100%" src="~/App_Themes/common/images/mobile/AppStoreBadges/apple-app-store.png" /></a>

看起来他们已经取消了旧项目:深入 linking 以支持通用 links。我可以拦截 WebView 重定向到他们的站点,然后从 Swift 的角度将其踢出,但我希望它能在我当前的代码上工作,而不是仅仅为了处理 iTunes link 进行更改。

您需要一个导航代理。对于 UIWebView,您的委托将实现 webView(_:shouldStartLoadWith:navigationType:)。当你得到这个 link 时,你会 return false 而不是使用 open(_:options:completionHandler:).

将它传递给运行时