Flutter中Firebase Facebook登录安卓正常,iOS报‘App is not active’错误求助
Flutter Facebook登录iOS端提示"App is not active"的解决办法
你的代码逻辑本身没有明显问题,这个错误基本都是iOS端配置或Facebook后台设置导致的,按以下步骤排查:
检查Facebook开发者后台的iOS应用状态
登录Facebook开发者平台,找到你的应用:- 确认iOS应用的状态是已上线(测试阶段需确保开启"开发模式")
- 核对iOS应用的Bundle ID和Xcode项目里的完全一致,注意大小写不能出错
- 确保iOS应用的单点登录功能已开启
验证Facebook权限与审核状态
- 确认后台为iOS应用添加了
email等你需要的权限,上线应用要确保这些权限通过了Facebook的审核 - 检查应用的"应用审核"页面,确认登录相关的权限没有被限制
- 确认后台为iOS应用添加了
核对Xcode中的配置项
打开Xcode项目的Info.plist,检查以下配置:CFBundleURLTypes里的URL scheme必须是fb{你的Facebook App ID}(例如fb123456789)FacebookAppID和FacebookDisplayName要和Facebook后台的信息完全匹配- 必须添加
LSApplicationQueriesSchemes数组,包含以下项:fbapi、fb-messenger-share-api、fbauth2、fbshareextension - 确认项目的签名Team正确,且App ID已在Apple开发者账号中注册
检查Firebase配置
- 确认Firebase控制台已添加iOS应用,且
GoogleService-Info.plist已正确导入到Xcode项目(要确保文件被添加到目标target中) - 检查Firebase的Facebook登录提供商是否启用,App ID和App Secret要和Facebook后台一致
- 确认Firebase控制台已添加iOS应用,且
另外,建议给代码添加基础的错误处理,避免空指针问题:
final LoginResult loginToken = await FacebookAuth.instance.login(); final AccessToken? result = loginToken.accessToken; if (result == null) { // 处理登录失败或用户取消的场景 throw Exception('Facebook登录未完成'); }
内容的提问来源于stack exchange,提问作者Tom Cohen
相关产品推荐
相关产品推荐

