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

Flutter集成flutter_facebook_auth在iOS模拟器登录报错com.facebook.sdk.core error 8

解决iOS 16.1模拟器中flutter_facebook_auth登录返回error 8的问题

1. 确认iOS URL Scheme配置正确

Facebook登录必须在Info.plist里配置格式为fb<你的Facebook应用ID>的URL Scheme,比如应用ID是123456,Scheme就是fb123456。

检查ios/Runner/Info.plist是否包含以下配置,替换其中的YOUR_APP_ID为你在Facebook开发者后台的真实应用ID:

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>fbYOUR_APP_ID</string>
    </array>
  </dict>
</array>

2. 完善LSApplicationQueriesSchemes配置

除了fbauth2,还要补充其他必要的Scheme,完整配置如下:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fbapi</string>
  <string>fb-messenger-share-api</string>
  <string>fbauth</string>
  <string>fbauth2</string>
  <string>fbshareextension</string>
</array>

3. 简化AppDelegate.swift配置(直接复制覆盖)

如果你之前修改AppDelegate导致问题,直接用以下官方推荐的基础代码替换ios/Runner/AppDelegate.swift的内容(无需懂Swift,直接复制即可):

import UIKit
import Flutter
import FacebookCore

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }

  override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    if ApplicationDelegate.shared.application(app, open: url, options: options) {
      return true
    }
    return super.application(app, open: url, options: options)
  }
}

同时确保Info.plist里的Facebook基础配置正确:

<key>FacebookAppID</key>
<string>YOUR_APP_ID</string>
<key>FacebookDisplayName</key>
<string>YOUR_APP_DISPLAY_NAME</string>

4. 重置模拟器的Facebook登录状态

iOS模拟器可能缓存了旧的登录会话,尝试:

  • 打开模拟器内的Facebook应用,退出当前账号后重新用测试账号登录
  • 若模拟器没有安装Facebook应用,完成网页登录后重启模拟器和Flutter项目

5. 核对Facebook开发者后台配置

  • 确认iOS平台的Bundle ID与Flutter项目的iOS Bundle ID完全一致(可在ios/Runner.xcodeproj/project.pbxproj中查找PRODUCT_BUNDLE_IDENTIFIER)
  • 确认Valid OAuth Redirect URIs已添加fbYOUR_APP_ID://authorize(替换为真实应用ID)

6. 清理缓存后重新构建

缓存可能导致配置不生效,执行以下命令:

flutter clean
flutter pub get
cd ios && pod install && cd ..
flutter run

如果以上步骤都无效,建议用真实iOS设备测试(模拟器偶尔会存在特殊权限问题),同时检查测试账号是否被Facebook限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:25:25