在 WebView 中打开,而不是在 iOS 上打开 link

open in WebView instead of deep link on iOS

我的 iPhone 应用程序有一个 WebView,它有时可能会显示 URL 注册了一个已安装的应用程序(例如 Yelp)。我希望此页面在我的应用程序中打开。实际上,我不在乎进一步的链接是否会切换到另一个应用程序,但第一个视图应该保留在我们的应用程序中。

我可以找到一些特定于应用程序的解决方法,例如 用于 Pinterest,但我正在寻找通用解决方案。

您可以使用您发布的 link 中建议的相同解决方案,但要阻止所有非 http 或 https:link 的 links:

NSURL *url = [request URL];
if (![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"])
{
    return NO;
}

如果您还想支持其他方案,只需将它们添加到声明中即可。