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

如何为Expo应用配置多个URL Scheme?遇EAS更新报错及Scheme无效问题

解决Expo应用多URL Scheme配置问题

核心注意事项

Expo根配置的scheme字段仅支持单个字符串,直接用数组会触发eas update错误。多Scheme需通过iOS/Android各自的原生配置字段实现,且原生配置变更必须通过eas build重新构建应用,无法通过eas update生效。

iOS平台正确配置

在app.json的ios.infoPlist下,通过CFBundleURLTypes添加多个Scheme,可选择两种配置方式:

方式1:单个URL类型条目包含多个Scheme

{
  "expo": {
    "scheme": "scheme1", // 根字段保留单个字符串,避免eas update报错
    "ios": {
      "infoPlist": {
        "CFBundleURLTypes": [
          {
            "CFBundleURLSchemes": ["scheme1", "scheme2", "scheme3"],
            "CFBundleURLName": "com.your.app.identifier" // 替换为你的App Bundle ID
          }
        ]
      }
    }
  }
}

方式2:每个Scheme单独一个URL类型条目

{
  "expo": {
    "scheme": "scheme1",
    "ios": {
      "infoPlist": {
        "CFBundleURLTypes": [
          {
            "CFBundleURLSchemes": ["scheme1"],
            "CFBundleURLName": "com.your.app.identifier"
          },
          {
            "CFBundleURLSchemes": ["scheme2"],
            "CFBundleURLName": "com.your.app.identifier"
          },
          {
            "CFBundleURLSchemes": ["scheme3"],
            "CFBundleURLName": "com.your.app.identifier"
          }
        ]
      }
    }
  }
}

Android平台正确配置

在app.json的android字段下,通过intentFilters添加多个Scheme,两种配置方式可选:

方式1:单个Intent Filter包含多个Scheme

{
  "expo": {
    "scheme": "scheme1",
    "android": {
      "intentFilters": [
        {
          "action": "VIEW",
          "data": [
            { "scheme": "scheme1" },
            { "scheme": "scheme2" },
            { "scheme": "scheme3" }
          ],
          "category": ["BROWSABLE", "DEFAULT"]
        }
      ]
    }
  }
}

方式2:每个Scheme单独一个Intent Filter

{
  "expo": {
    "scheme": "scheme1",
    "android": {
      "intentFilters": [
        {
          "action": "VIEW",
          "data": { "scheme": "scheme1" },
          "category": ["BROWSABLE", "DEFAULT"]
        },
        {
          "action": "VIEW",
          "data": { "scheme": "scheme2" },
          "category": ["BROWSABLE", "DEFAULT"]
        },
        {
          "action": "VIEW",
          "data": { "scheme": "scheme3" },
          "category": ["BROWSABLE", "DEFAULT"]
        }
      ]
    }
  }
}

后续操作

  1. 确保根配置的scheme字段为单个字符串,避免eas update报错。
  2. 执行eas build重新构建iOS/Android应用二进制包,原生配置变更仅在新构建的包中生效。
  3. 测试所有Scheme是否正常唤起应用:可通过浏览器输入scheme2://test、scheme3://demo等链接验证。

内容的提问来源于stack exchange,提问作者The Silkworm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:30:28