iOS中Universal Link在.co.uk等特定顶级域名失效但.com正常求助
iOS深度链接(.co.uk域名失效)排查要点
以下是可能导致.co.uk这类国别域名深度链接失效的常见遗漏配置:
AASA文件配置错误
- 确认
.well-known/apple-app-site-association文件是否部署在.co.uk域名的根目录下,且能通过HTTPS正常访问(返回200状态码,MIME类型为application/json)。注意.well-known目录名不能拼写错误,文件也不能带.json后缀。 - 检查AASA文件内的
applinks条目,确保包含正确的.co.uk域名,示例配置如下:
避免误写为{ "applinks": { "apps": [], "details": [ { "appID": "TEAMID.BundleID", "paths": ["*"] } ] } }.com域名,若需支持子域名也要对应配置。
- 确认
关联域名格式问题
- 确认授权文件(entitlement)中的关联域名格式完全正确:
applinks:example.co.uk。如果需要支持所有子域名,应写成applinks:*.example.co.uk,不要出现只配置www.example.co.uk但实际使用裸域名,或反之的情况。
- 确认授权文件(entitlement)中的关联域名格式完全正确:
SSL证书与域名解析问题
- .co.uk域名必须配置有效的SSL证书(受信任CA颁发,无过期、主机名不匹配问题),Apple的爬虫无法访问未配置HTTPS或证书无效的域名。
- 检查域名的DNS解析是否正常,确保Apple服务器能正确解析到部署AASA文件的服务器。
应用端逻辑过滤
- 检查
AppDelegate(iOS 12及以下)或SceneDelegate(iOS 13+)中处理深度链接的代码,是否存在硬编码只允许.com域名的逻辑,比如在application(_:continue:restorationHandler:)或scene(_:continue:)方法中错误过滤了.co.uk链接。
- 检查
缓存问题
- Apple会缓存AASA文件,若之前配置有误可能仍在生效。可以尝试卸载重装应用、重启设备,或在模拟器中执行命令
xcrun simctl spawn booted defaults write com.apple.coreservices.uiagent CSUIEnableLinkPreview -bool NO清除缓存(执行后重启模拟器)。
- Apple会缓存AASA文件,若之前配置有误可能仍在生效。可以尝试卸载重装应用、重启设备,或在模拟器中执行命令
内容的提问来源于stack exchange,提问作者Parul Parima
相关产品推荐
相关产品推荐

