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

expo-linking iOS端跳转回应用不触发eventListener 安卓端运行正常

iOS端expo-linking URL事件监听不触发解决方案

以下是针对性的修复步骤:

  • 同步处理初始URL,不能只依赖运行时事件监听。iOS的深链接唤起事件如果发生在监听注册完成之前(包括应用冷启动、后台唤醒场景),不会被后注册的监听器捕获,需要在注册监听前先调用Linking.getInitialURL()接口获取唤起链接,直接传入handleStravaRedirect处理。
  • 检查app.json的iOS端配置,确保你用到的所有自定义协议都已显式声明,开发环境的exp和生产/TestFlight环境的herofit都需要加入scheme数组,配置示例如下:
{
  "expo": {
    "ios": {
      "bundleIdentifier": "替换为你的应用包名",
      "scheme": ["herofit", "exp"]
    }
  }
}

配置完成后执行npx expo prebuild --clean重新同步原生配置,避免旧缓存导致配置不生效。

  • 适配AuthSession的内置回调逻辑:你使用AuthSession.useAuthRequest发起授权的场景下,该Hook已经内部完成了深链接回调的监听和解析逻辑,不需要额外自行注册Linking.addEventListener,自行注册的监听会因为iOS的事件优先级规则捕获不到回调,直接处理useAuthRequest返回的result参数判断授权结果即可。
    注意:iOS端应用退至后台超过30秒后被深链接唤起时,系统会将本次唤起判定为新启动事件,只会通过getInitialURL返回链接信息,不会触发运行时的url监听事件,必须双路径处理才能覆盖所有场景

内容的提问来源于stack exchange,提问作者Bryson Kruk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:57:04