iOS默认浏览器为Chrome/Brave时Universal Links无法唤起应用求助
iOS Universal Links 在Chrome/Brave默认浏览器无法唤起应用的解决方法
排查与修复方案
强制刷新第三方浏览器的AASA缓存
Chrome和Brave会缓存AASA文件,旧缓存可能导致跳转失效:- Chrome中打开
chrome://net-internals/#hsts,输入你的域名后点击「Delete domain security policies」 - Brave中打开
brave://net-internals/#hsts,执行同样的删除操作 - 重启浏览器后重新测试跳转
- Chrome中打开
优化AASA文件兼容性
部分第三方浏览器对AASA的NOT规则支持不佳,建议简化paths配置,只保留必要的匹配规则:{ "applinks": { "details": [ { "appIDs": ["你的TeamID.应用BundleID"], "paths": ["/app/*", "/open"] } ] } }同时确认服务器返回的AASA文件
Content-Type头为application/json,避免使用text/plain。添加备用跳转逻辑
在网页中实现双跳转机制,优先用Universal Links,失败时 fallback 到自定义URL Scheme:function triggerAppOpen() { const universalUrl = 'https://你的域名/app'; const schemeUrl = '你的AppScheme://app'; const link = document.createElement('a'); link.href = universalUrl; document.body.appendChild(link); link.click(); // 1秒内未唤起则尝试Scheme跳转 setTimeout(() => { window.location.href = schemeUrl; }, 1000); }需在应用
Info.plist中添加LSApplicationQueriesSchemes数组,包含你的自定义Scheme。验证第三方浏览器专属要求
- Brave要求AASA文件必须通过有效HTTPS访问,无证书警告
- iOS 15+的Chrome要求AASA文件不能包含语法错误,可通过苹果官方工具验证
额外验证步骤
- 用苹果的App Search API验证工具检查AASA文件的合法性
- 删除应用后重新安装,清除设备端的关联缓存
- 关闭设备上的VPN/代理,避免域名解析异常
内容的提问来源于stack exchange,提问作者Nagaraju kamatham
相关产品推荐
相关产品推荐

