iOS React Native应用Universal links的AASA文件无法下载求助
解决React Native iOS应用Universal Links配置问题
首先明确:你看到的SWCErrorDomain Code=1701错误属于正常日志,错误提示里已经说明"If this device is not enterprise-managed, this is normal",这个错误不会影响Universal Links的正常工作,无需关注。重点排查以下实际可能导致功能失效的问题:
1. 修复AASA文件的JSON格式错误
你的AASA文件开头存在语法错误:第一行的"applinks": {前多了一个双引号,正确的JSON结构应该以{开头,完整的正确格式如下:
{ "applinks": { "details": [ { "appIDs": [ "TEAMID.BUNDLEID" ], "components": [ { "/": "*", "?": { "$web_only": "true" }, "exclude": true }, { "/": "*", "?": { "%24web_only": "true" }, "exclude": true }, { "/": "/e/*", "exclude": true }, { "/": "*" } ] } ] } }
注意:
- 移除了开头多余的双引号
- 去掉了重复的根路径匹配
{"/": "/"}("/": "*"已经包含根路径,无需重复配置) - 确保所有JSON键值对格式正确,无多余逗号
2. 验证AASA文件的有效性
- 直接访问
https://staging.***.com/.well-known/apple-app-site-association,确认返回的JSON格式完全正确(可通过在线JSON校验工具验证) - 确认服务器返回的
Content-Type为application/json(部分服务器默认返回text/plain也可兼容,但推荐设置正确的类型) - 确保访问该地址时无HTTPS证书错误、无301/302重定向
3. 确认关联域与AppID匹配
- 检查Entitlements文件中的
applinks:staging.***.com域名与AASA文件中配置的域名完全一致(包括大小写、子域名) - 确认AASA中的
appIDs值TEAMID.BUNDLEID与Xcode中项目的Team ID、Bundle ID完全匹配(可在Xcode的Signing & Capabilities面板查看)
4. 重置设备的Universal Links缓存
iOS设备会缓存AASA文件,若之前配置有误,可能导致新配置不生效:
- 卸载应用
- 重启设备
- 重新安装应用
5. 测试Universal Links功能
- 在Safari或Notes中输入你的测试链接(如
https://staging.***.com/test),长按链接查看是否出现"在[你的应用名]中打开"的选项 - 使用Xcode的
Debug > Open URL功能,输入测试链接,验证应用是否能被唤起
内容的提问来源于stack exchange,提问作者Katz
相关产品推荐
相关产品推荐

