You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Universal Links无法唤起App,默认打开浏览器问题求助

以下是针对问题的具体排查与解决步骤:

1. 检查apple-app-site-association文件的托管有效性

  • 文件名与路径:确保文件无后缀名(不能是apple-app-site-association.json),严格放在https://www.domain.com/.well-known/路径下
  • HTTPS访问验证:用浏览器直接访问https://www.domain.com/.well-known/apple-app-site-association,需直接返回JSON内容,状态码为200,不能出现404、301重定向情况
  • JSON格式与内容校验:
    • 移除JSON中多余的前置空格(你提供的代码开头有多余空格,可能导致解析失败),用JSON校验工具确认格式合法
    • 替换占位符[teamID].[BundleID]为真实的Team ID和Bundle ID,两者必须与Xcode中配置的完全一致(大小写敏感)

2. 验证Xcode项目配置

  • Associated Domains配置:确认已启用该能力,且域名格式正确,为applinks:www.domain.com和applinks:domain.com,无多余空格或拼写错误
  • 签名与包类型:Debug包(尤其是个人免费证书签名的)可能无法正常触发Universal Links,建议使用Ad Hoc或App Store签名的包进行测试
  • Bundle ID与Team ID匹配:Xcode中项目的Bundle ID、Team ID必须与apple-app-site-association文件中的appID完全一致

3. 处理设备端缓存问题

  • iOS会缓存应用关联数据,可尝试删除应用后重新安装,或直接重启设备
  • 在Safari中打开链接时,长按链接查看是否有「在[你的应用名]中打开」选项:若有则说明关联已生效,首次打开需用户确认;若无则说明关联未建立
  • 模拟器测试可使用命令:xcrun simctl openurl booted "https://www.domain.com",直接验证是否唤起应用

4. 路径匹配规则检查

  • 你配置的["*", "/"]理论上匹配所有路径,但需确保无语法错误(比如数组元素外的多余空格)
  • 可尝试更具体的路径进行测试,例如将paths改为["/test/*"],然后访问https://www.domain.com/test/xxx验证是否唤起应用

5. 其他潜在问题排查

  • HTTPS证书:域名必须使用公共CA颁发的可信HTTPS证书,自签名证书无法被Apple验证
  • 服务器重定向:访问.well-known路径时不能有重定向(比如跳转到HTTP或其他域名),必须直接返回文件
  • Info.plist配置:检查是否存在LSApplicationQueriesSchemes等可能干扰Universal Links的配置项,必要时暂时移除测试

内容的提问来源于stack exchange,提问作者Oussama Ridéne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:50:02