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

React Native iOS Universal Links配置问题:模拟器正常真机失效

格式选择:components vs paths

Apple官方目前推荐使用components格式,它比旧的paths格式更灵活,支持精确匹配、通配符、排除规则等复杂场景。UberEats、Facebook等平台仍用paths是因为历史遗留,新应用优先用components格式,你的配置格式没问题,不用纠结这个。

真机失效的核心排查点

1. 证书与HTTPS有效性

真机对HTTPS的要求比模拟器严格:

  • 确保你的域名使用正规CA颁发的有效SSL证书,不能是自签名证书,检查证书链是否完整(可通过浏览器访问域名查看证书详情)。
  • 确认/.well-known/apple-app-site-association文件能通过HTTPS正常访问,无跳转或404错误。

2. 清除苹果缓存

苹果会缓存apple-app-site-association文件,真机可能加载旧配置:

  • 重启iOS设备。
  • 打开Safari访问你的Universal Link,长按链接选择「在[你的应用名]中打开」,强制触发链接校验。
  • 进入「设置 > Safari浏览器 > 清除历史记录与网站数据」,清除缓存后重试。

3. Associated Domains与文件配置匹配

  • Xcode中Associated Domains的格式必须是applinks:dev-bytel-suiviconso.azurewebsites.net,不要加https://或末尾斜杠。
  • 确认apple-app-site-association文件中的appID是你的TeamID.你的BundleID,两者必须完全匹配(TeamID在Apple开发者后台查看,BundleID对应Xcode项目的Bundle Identifier)。

4. 网络环境与访问权限

  • 真机不要处于VPN或内网环境下,确保能直接访问服务器域名。
  • 用公网环境测试,避免防火墙或代理拦截apple-app-site-association文件的请求。

5. AppDelegate配置检查

确保iOS的AppDelegate中正确处理了Universal Links:

  • 实现application:continueUserActivity:restorationHandler:方法,调用React Navigation的Linking.handleContinueUserActivity(userActivity)。
  • 示例OC代码:
#import <React/RCTLinkingManager.h>

- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
  return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
}

6. 苹果CDN缓存刷新

若刚更新了apple-app-site-association文件,苹果CDN可能需要24小时同步。着急测试可尝试:

  • 用未测试过该链接的新iOS设备验证(无旧缓存)。

内容的提问来源于stack exchange,提问作者Thomas Gicquel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:15:33