当我的应用程序未安装时,UIWebView 中的 iOS 通用 link 将启动 Safari?

when my app is not intalled, iOS universal link in UIWebView will launch Safari?

摘自 Support Universal Links 中的 Apple 指南:

When you support universal links, iOS 9 users can tap a link to your website and get seamlessly redirected to your installed app without going through Safari. If your app isn’t installed, tapping a link to your website opens your website in Safari.

但我很困惑,如果我的应用程序没有安装,并且我在另一个应用程序的 UIWebView 中点击我的应用程序的通用 link,系统会启动 Safari 应用程序来加载我的网站,还是仍然加载它在 UIWebView 中?

我测试了一些应用程序的通用 links 当应用程序未安装时,它们从不启动 Safari 来加载下一页,它们仍然在 UIWebView 中加载它。

我想知道是否可以启动 Safari,但不能停留在 UIWebView.Do 我需要 apple-app-site-association 文件中的任何配置吗?

实际上我想通过使用 cookie.I 跟踪我的应用程序的安装位置可以在 Safari 中存储一个包含下载页面信息的 cookie,并在我的应用程序运行时使用 SFSafariViewController 获取 cookie安装并打开,根据cookie呈现不同的视图。

您要构建的内容称为 'deferred deep linking'。这(加上更多)正是我们在 Branch.io 提供的内容。如果您想避免自己配置的麻烦,请看一下。 Pinterest、Airbnb 和 Tinder 等应用程序都出于这个原因使用我们。

Apple 的文档指的是独立 Safari 浏览器的默认行为。使用 UIWebView 处理应用程序内的链接取代了这一点,并且无法自动从原始应用程序弹回主 Safari 应用程序。

解决方法是将数据存储在您自己的后端。正如您所发现的,在许多情况下,依靠设备本身的 cookie 传递是行不通的。