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

配置Firebase谷歌登录遇GIDSignIn无clientID成员错误求解决

解决GIDSignIn无clientID成员的错误

这个错误是因为你使用的是GoogleSignIn 6.x及以上版本,该版本对API做了更新,GIDSignIn.sharedInstance不再提供clientID直接赋值的属性,需要通过GIDConfiguration来配置。结合你用Firebase的需求,推荐以下两种解决方案:

方案一:通过Firebase自动获取Client ID(推荐)

由于你已经初始化了Firebase,Firebase会从GoogleService-Info.plist中自动读取配置,无需手动硬编码Client ID,代码修改如下:

import UIKit
import FirebaseCore
import GoogleSignIn

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
    FirebaseApp.configure()
    // 从Firebase配置中获取Client ID并初始化GIDSignIn
    guard let clientID = FirebaseApp.app()?.options.clientID else {
        print("无法获取Firebase Client ID,请检查GoogleService-Info.plist是否正确添加")
        return true
    }
    GIDSignIn.sharedInstance.configuration = GIDConfiguration(clientID: clientID)
    return true
  }
}

方案二:手动配置GIDConfiguration

如果需要手动指定Client ID,直接创建GIDConfiguration实例并赋值给GIDSignIn的configuration属性即可:

// 替换为你的实际Client ID
GIDSignIn.sharedInstance.configuration = GIDConfiguration(clientID: "MY Client ID")

注意事项

  • 若你需要使用旧版API(直接设置clientID),可以在Podfile中指定GoogleSignIn的5.x版本,比如:pod 'GoogleSignIn', '~> 5.0',但不推荐,旧版本不再维护。
  • 确保GoogleService-Info.plist文件已正确添加到项目的目标中,Firebase的配置依赖该文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:42:06