iOS:如何强制 openURL 打开浏览器,而不是通过通用链接打开应用程序

问题描述 投票:0回答:1

我想打开一个 http/https 链接,并在浏览器中打开它——而不是通过已安装应用程序的通用链接作为应用程序深层链接。

我尝试过的事情:

  • openURL api:正在应用程序中启动通用链接,而不是 Safari
  • SFSafariViewController:即使这样也会自动关闭并在另一个应用程序中启动通用链接。

一般来说,我认为这对用户有好处,但我有一个用例,需要留在浏览器中。

我无法控制链接(所以我不能只对本机使用 URL 方案,对 Web 使用 http)。它需要与任何 http url 一起使用,这可能是也可能不是通用链接。

系统并不总是打开通用链接(例如,如果用户在 abc.com 上并点击通用链接 abc.com/page/123,它会保留在网络中)。我想通过本机应用程序代码以编程方式确保该行为(停留在浏览器中)。

首选系统默认浏览器,但如果只有 safari 解决方案可用,也可以接受。

ios safari
1个回答
0
投票

无法判断链接是否为通用 URL,尤其是 URL 重定向。唯一的方法是使用自定义浏览器,该浏览器不会与 iOS 配合将用户重定向到应用程序。

  1. 如果您有合适的外部浏览器,您可以使用

    UIActivityViewController
    打开共享对话框。然后用户将在那里选择浏览器。

  2. 而不是

    SFSafariViewController
    ,请在应用程序内使用自定义浏览器引擎。

© www.soinside.com 2019 - 2024. All rights reserved.