神奇bug在哪里
2021-03-12 09:39:44
需求: 短域名universalLink唤起
ios12短链接唤起universalLink失效现象 ios 10,11 之前项目证书全部有效ios12 pps证书无效,外网短连接唤不起
查找路径
1 https://case.orz-i.com/apple-app-site-association 有效
2 https://turl.iqiyi.com/ukwzy 短链有效
3 低于ios12 有效
来看一下苹果文档
https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW1
苹果这里讲的是或,但是实际上公网 ios12 逻辑是优先查找 /.well-known/apple-app-site-association 文件 如果404再去查找/apple-app-site-association 由于case.orz-i.com上没有/.well-known/apple-app-site-association直接返回404苹果会默认向上继续找文件。
Upload the apple-app-site-association file to your HTTPS web server. You can place the file at the root of your server or in the .well-known subdirectory.
这里讲不要有任何重定向The file needs to be accessible via HTTPS—without any redirects
但是此次短域名服务不同,通过看ng配置发现,之前重定向里面没有 .well-known/apple-app-site-association 文件,而白名单之外的路径将全部回源到短域名服务,相当于ios12苹果优先查找的文件直接跑到else里面了,而这里else的逻辑刚好是走短域名服务,短域名服务正好是重定向,直接导致证书失效
总结:universallink要注意的几点
1.必须是https
2.不能重定向
3./.well-known/apple-app-site-association /apple-app-site-association 两个文件下都要有证书
4.必须跨域