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

升级Expo SDK 48后app.json校验失败及Facebook登录异常求助

解决Expo SDK 48升级后的Facebook相关问题

1. 修复app.json字段校验报错

SDK 48里,Facebook相关配置不再放在app.json根节点,必须移到expo.facebook对象下,同时facebookScheme要改成fb<你的FB应用ID>格式。调整后的app.json结构参考:

{
  "expo": {
    "name": "你的项目名称",
    "slug": "你的项目Slug",
    "version": "1.0.0",
    // 其他基础配置保留
    "facebook": {
      "appId": "你的FB应用ID",
      "displayName": "你的FB应用显示名称",
      "scheme": "fb你的FB应用ID"
    },
    "ios": {
      "bundleIdentifier": "你的iOS包名",
      "scheme": ["fb你的FB应用ID", "你的其他Scheme"]
    },
    "android": {
      "package": "你的Android包名",
      "intentFilters": [
        {
          "action": "VIEW",
          "data": [{"scheme": "fb你的FB应用ID"}],
          "category": ["BROWSABLE", "DEFAULT"]
        }
      ]
    }
  }
}
  • 根节点下的facebookScheme、facebookAppId、facebookDisplayName要彻底删除,全部移到expo.facebook内部。

2. 修复Facebook登录失效问题

针对originalFullName未定义的错误,按以下步骤处理:

  • 安装最新版expo-constants:
    expo install expo-constants
    
  • 执行命令验证originalFullName是否存在:
    expo config --type public
    
    检查输出里有没有originalFullName字段,要是没有,确认app.json里expo.name和expo.slug配置正确,项目没被乱改重命名。
  • 彻底清理并重建原生应用:
    expo prebuild --clean
    # 开发环境也可以直接跑
    expo run:ios
    expo run:android
    
  • 确认登录代码配置正确,比如用expo-facebook的初始化代码:
    import * as Facebook from 'expo-facebook';
    
    await Facebook.initializeAsync({
      appId: '你的FB应用ID',
    });
    
    或者用AuthSession的方式时,确保redirect_uri和client_id配置准确。

验证步骤

  1. 跑expo config --type public,确认expo.facebook配置正确,且originalFullName存在。
  2. 执行expo start --clear清缓存后启动项目。
  3. 测试Facebook登录功能,确认无报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:15:08