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

iOS端Google Sign In调试模式正常,发布/TestFlight模式无法使用

Firebase Google Sign In 发布/TestFlight 失效问题解决方案

1. 立即修正 GoogleService-Info.plist 的位置

  • 必须将GoogleService-Info.plist移入项目目录,再重新添加到Xcode的Runner目标中:
    • 原因:Xcode发布打包时仅会包含项目目录内的文件,放在系统下载文件夹的文件无法被正确打包,导致Google Sign In在发布模式下无法读取初始化配置。
    • 操作步骤:
      1. 把GoogleService-Info.plist从下载文件夹复制到Flutter项目的ios/Runner目录下。
      2. 在Xcode中删除原有的文件引用,重新添加该文件(勾选「Copy items if needed」,确保目标选择Runner)。

2. 验证Google Cloud控制台的OAuth客户端配置

  • 确认Google Cloud控制台中,已为发布版本的Bundle ID创建对应OAuth 2.0客户端ID:
    • 调试和发布模式的Bundle ID通常不同(比如调试版带.debug后缀),若仅配置了调试用的客户端ID,发布模式下会无法触发登录流程。
    • 检查路径:Google Cloud控制台 → API和服务 → 凭据 → 找到iOS平台的客户端ID,确认其Bundle ID与发布版本完全一致。

3. 检查Xcode发布模式的构建配置

  • 确保发布模式下未禁用Google Sign In相关依赖:
    • 打开Xcode的Runner目标 → Build Settings → 搜索Other Linker Flags,确认发布模式下包含-ObjC(Google Sign In依赖该标志加载相关类)。
    • 查看Build Phases → Copy Bundle Resources,确认GoogleService-Info.plist已在列表中(重新添加文件后会自动加入)。

4. 确认TestFlight的签名一致性

  • 尽管已确认开发者账号签名,仍需检查TestFlight的分发签名配置:
    • 在Xcode的Runner目标「Signing & Capabilities」中,确认发布配置的签名团队与Google Cloud控制台关联的开发者账号完全一致。
    • 避免开启「Managed by Apple」自动签名导致Bundle ID意外变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:16:10