Firebase谷歌登录时无法找到GIDSignInDelegate类型与clientID属性

解决方案
- 确认依赖安装正确:通过CocoaPods同时安装
GoogleSignIn和FirebaseAuth库,安装完成后务必关闭.xcodeproj文件,使用.xcworkspace打开项目进行开发,避免Xcode识别不到依赖库。 - 检查模块导入:
Swift项目在AppDelegate顶部导入依赖:
Objective-C项目在AppDelegate顶部导入依赖:import Firebase import GoogleSignIn#import <Firebase.h> #import <GoogleSignIn/GoogleSignIn.h> - Client ID配置修正:不要手动硬编码Client ID数值,直接从Firebase配置文件读取:
Swift示例:
Objective-C示例:guard let clientID = FirebaseApp.app()?.options.clientID else { return } let signInConfig = GIDConfiguration(clientID: clientID) GIDSignIn.sharedInstance.configuration = signInConfigGIDConfiguration *signInConfig = [[GIDConfiguration alloc] initWithClientID:[FIRApp defaultApp].options.clientID]; GIDSignIn.sharedInstance.configuration = signInConfig; - GIDSignInDelegate无法识别修复:注意GoogleSignIn 6.0及以上版本已经完全废弃
GIDSignInDelegate协议,不需要再给GIDSignIn设置delegate,也不需要实现旧的代理回调方法,所有登录结果统一用闭包回调处理即可。 - 如果一定要使用
GIDSignInDelegate相关的旧API,需要在Podfile中指定GoogleSignIn版本为5.x系列:pod 'GoogleSignIn', '~> 5.0' - 补充校验:打开项目Info.plist,确认已经添加了URL Types配置,其中URL Schemes的值填写GoogleService-Info.plist中
REVERSED_CLIENT_ID字段的内容,避免登录后回调失败。
内容的提问来源于stack exchange,提问作者Shubham Shinde
相关产品推荐
相关产品推荐

