iOS通用链接与通配符无法正常工作

Boc*_*ica 23 ios ios-universal-links associated-domains

在我正在开发的iOS应用程序中,我已经设置了Universal Links.该应用程序托管多个域.我使用通配符设置了一些域名.这些域似乎不起作用.例如,我想链接到https://news.mydomain.com/.如果我将以下内容添加到关联域列表中:

applinks:*.mydomain.com - >不起作用

applinks:news.mydomain.com - >工作正常

所以我相信我确实设置正确,apple-app-site-association文件设置正常.我甚至可以在两种情况下(使用Charles Proxy)看到apple-app-site-association文件被检索好了.

对于通配符,链接仅在Safari中打开.

当我在没有通配符的情况下配置域时,应用程序将打开.

我在这里错过了什么吗?我在设备上运行iOS 9.3.2,我正在运行Xcode 7.3.1,它们是今天的最新版本.

foc*_*ner 22

我将我的发现添加到这个主题:https://forums.developer.apple.com/thread/47315

简而言之,即使在iOS 10中,通配符设置似乎也要求apple-app-site-association通配符的根提供文件.

例如,如果你想使用*.domain.com,那么apple-app-site-association需要在两者上托管,例如,app1.domain.comdomain.com,否则它不能简单地applinks:*.domain.com在Xcode中指定.

如果您的主站点是托管的www.domain.com,并且您有301重定向domain.com(将您重定向到www.domain.com),这是不幸的,因为Universal Links不允许重定向.

我找到的解决方法是为您的应用创建一个主子域,并使用子子域作为通配符.例如

  • app.domain.com(必须提供apple-app-site-association文件)
  • server1.app.domain.com(必须服务apple-app-site-association)
  • server2.app.domain.com (......)

这样,在Xcode中,您可以只指定applinks:*.app.domain.com和通用链接,而无需在Xcode中指定server1.app.domain.com,server2.app.domain.com等等.

但请注意,您还必须明确指定applinks:app.domain.com是否计划将该服务器与您的应用程序一起使用.

我希望这有帮助.


Mar*_*age 1

我认为这是文档中的苹果错误。我在 9.3.1 上遇到同样的错误。9.3.2 工作正常。非常有趣的链接,关于签名问题,请参阅劳伦斯范的评论

Apple 应该在此链接中说明 *.domain.com 适用于 >= 9.3.2 支持通用链接