iOS 9 Universal Links无法从同一域启动应用程序

当有人访问myDomain.com/ShowInTheApp/*时,我设置了我的AASA JSON文件来打开应用程序

这适用于Notes应用程序,电子邮件,Gmail应用程序,Safari网页上的Safari以及其他myDomain.com网站。

myDomain.com/chooseAppORweb.html包含指向myDomain.com/chooseAppORweb.html的链接时,safari始终会在同一个标​​签页中打开它,app将无法启动。 我可以点击并按住链接以显示上下文菜单,其中包含“打开[我的应用程序名称]”条目,该条目确实会启动我的应用程序。 但不是单击链接。

当我从其他域执行完全相同的步骤时, NOTmyDomain.com/chooseAppORweb.html始终启动应用程序而不会出现问题。

有没有人使用UL成功地从同一个域启动应用程序?

此外,如果Apple的文档解释了这些行为,请分享链接。

我不确定Apple何时将其添加到他们的文档中,但在第一个注释中的“ 支持通用链接”页面上对其进行了解释:

在iOS 9及更高版本中,通用链接允许用户在WKWebViewUIWebView视图和Safari页面中点击指向您网站的链接时打开您的应用,此外还有导致调用openURL:链接openURL: ,例如Mail中出现的链接,消息和其他应用程序。

当用户在Safari中浏览您的网站并且他们点击与当前网页位于同一域中的URL的通用链接时, iOS会尊重用户最可能的意图并在Safari中打开该链接。 如果用户点击通向不同域中url的通用链接,iOS会在您的应用中打开该链接。

对于运行早于9.0的iOS版本的用户,点击指向您网站的通用链接会在Safari中打开该链接。

(重点补充)

基本上,一旦用户访问Safari域中托管的网页,他们在您的域中关注的任何链接都将在Safari中打开,即使它们被您的应用定义为通用链接。

正如上面提到的st.derrick,这是Universal链接的就地行为。 如果您之前已经从链接中获取了应用程序,但是在长按提示时选择进入该网站,则打开该应用程序的function将中断。 您可以通过再次长按并选择打开应用程序来解决此问题。 它不是一个理想的解决方案,但它是我看到它被修复的唯一方法。 我希望这有帮助!