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

iOS App使用Facebook SDK登录时跳转原生应用身份验证失败求助

问题排查方案

一、异常报错根因排查方向

  • Facebook开发者平台配置校验
  • 确认iOS平台的Bundle ID与当前打包的应用完全一致,注意大小写、后缀不要出现误差
  • 检查「iOS 单点登录」开关是否已开启,该配置项位于Facebook开发者后台「应用」-「设置」-「基本」-「iOS」板块下
  • 确认应用的公开状态是否为已上线,如果处于开发模式,只有后台添加的测试账号可以正常登录,非测试账号登录就会触发该报错
  • 校验info.plist内的FacebookAppID、FacebookDisplayName字段,是否和后台配置完全匹配
  • SDK逻辑校验
    • 9.3.0版本的Facebook SDK需要在应用启动时完成初始化,确认你在didFinishLaunchingWithOptions方法中添加了[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];代码
    • 确认你申请的权限列表没有包含Facebook未审核通过的高级权限,未审核的权限在非测试账号使用时会触发登录失败
  • 应用logo不显示问题排查
    • 检查Facebook开发者后台「应用设置」-「基本信息」里上传的logo尺寸是否符合平台要求,是否已经过审核生效,新上传的logo最长可能有24小时的缓存时间

二、「Log In With the Facebook App」场景复现方法

Facebook SDK 9.x版本会自动判断登录方式,触发跳转原生App登录的条件如下:

  • 设备已安装Facebook官方应用,且用户已在Facebook App中登录账号
  • 设备iOS版本≥13,且用户未给你的应用授予「跨应用跟踪权限」(IDFA权限),SDK会优先走原生App登录而不是内建webview
  • 你的应用在info.plist中添加了LSApplicationQueriesSchemes配置,包含fbauth2、fbapi等Facebook相关的scheme,SDK检测到可以跳转Facebook App就会优先走该流程

你可以按以下操作复现问题:

  1. 在iPhone上安装最新版Facebook App并登录账号
  2. 卸载你设备上已安装的测试应用,重新安装,首次启动时如果弹出跟踪权限申请,选择「不允许」
  3. 进入应用点击Facebook登录按钮,即可触发跳转原生App的登录流程

三、临时规避方案

如果短时间内无法定位配置问题,可以强制SDK走内建webview登录流程,规避跳转Facebook App的场景,代码如下:

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
loginManager.loginBehavior = FBSDKLoginBehaviorWeb;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 03:27:01