具体 Universal Links 的配置方法参见:
https://www.cnblogs.com/guoshaobin/p/11164000.html
写得很详细了。
我只记录一下,我这里遇到的问题
都按上面步骤配置了,就是死活不起作用。
查看一下,是否真的能被 Apple 访问到
到: https://search.developer.apple.com/appsearch-validation-tool/
这里输入自己的域名查一下
上述地址不可用, 可以到
https://branch.io/resources/aasa-validator/
这里来验证 : 更新 2023年10月23日
也可以使用命令
curl -v https://app-site-association.cdn-apple.com/a/v1/domain-name-here.com
看一下苹果真正拿到的数据是什么样的
后来找到原因:
可能原因1 本地未更新到
参考://www.greatytc.com/p/ef0cd17a35d6 这篇文章上的
服务器上apple-app-site-association的更新不会让iOS本地的apple-app-site-association同步更新,即iOS只会在App第一次启动时请求一次,以后除非App更新或重新安装,否则不会在每次打开时请求apple-app-site-association。
重新安装APP。
有时也不起作用,那就做的彻底一点,每更改一次apple-app-site-association, 我重启一次iPhone,再重安装。
可能原因2
服务端的链接不符合,可能各种redirect导致链接地址不一致了
缓存原因
通过使用
curl -v https://app-site-association.cdn-apple.com/a/v1/domain-name-here.com
看一下,这里的结果,这个是安装好APP后,第一次启动时,取得的真正的文件的样子,一般有缓存不会马上更新
2023年6月26日补充
针对iOS14及以上设备可能会出现 开发模式下无法唤起APP, 这时,需要增加 mode
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:xxxxxx?mode=developer</string>
</array>
根据文章: https://mac6classi.medium.com/universal-links-issue-on-ios-14-fd0aa8ae75f8 , mode = developer 适用于使用 dev 的Profile 打包的APP中, 去掉的话, 用于Production 打包的。
这个花了我很长时间调试,一直在开发时测试的,没有想到还有这样的区别。