Expo发布后Deep Linking无法跳转到指定页面问题求助
Expo 生产环境 Deep Linking 跳转失效排查步骤
- 检查应用配置文件的scheme配置
确认app.json/expo.config.js中expo.scheme字段配置和开发环境一致,多环境配置场景下需要确认testing发布渠道对应的配置没有覆盖、遗漏scheme项。 - 检查路由前缀匹配规则
如果你使用的是expo-linking或者expo-router,需要确认路由的prefixes配置数组已加入生产环境的前缀exp://exp.host/@user/nameApp/--/,仅配置开发环境的本地IP前缀会导致生产环境路径无法被路由识别匹配。 - 测试移除链接后缀的查询参数
先尝试访问不带参数的地址exp://exp.host/@user/@nameApp/--/resetPassword/rzBsP3tJ,如果可以正常跳转,说明路由匹配规则没有兼容后缀的查询参数,需要调整路由匹配逻辑允许路径携带query参数。 - 打印链接接收日志排查
打测试渠道的debug包安装到设备上,点击跳转链接时通过expo logs命令查看运行日志,打印Linking.getInitialURL()获取到的完整链接内容,确认链接是否被正常传递、有没有出现转义或截断问题。 - 确认线上包版本正确性
核实你发布到testing渠道的应用包版本,已经包含了resetPassword相关路由的代码,避免出现本地是新代码、线上发布的是未新增对应路由的旧版本的问题。 - 核对链接路径的正确性
确认链接中的@user(用户名)、@nameApp(应用名)和你发布到Expo平台的实际信息完全一致,注意路径大小写敏感,拼写错误会导致路由匹配失败。
内容的提问来源于stack exchange,提问作者David B
相关产品推荐
相关产品推荐

