我尝试使用fluttefire命令行工具将firebase添加到我的flutter项目中。我正在使用firebase的Google身份验证服务并调用SignIn
函数,它给出了以下错误。ios文件夹中有GoogleService-Info.plist
文件。
Unhandled Exception: PlatformException(missing-config, GoogleService-Info.plist file not found and clientId was not provided programmatically., null, null)
#0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
#1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
<asynchronous suspension>
#2 GoogleSignInPlatform.initWithParams (package:google_sign_in_platform_interface/google_sign_in_platform_interface.dart:98:5)
<asynchronous suspension>
#3 GoogleSignIn._callMethod (package:google_sign_in/google_sign_in.dart:267:5)
<asynchronous suspension>
#4 GoogleSignIn.signIn.isCanceled (package:google_sign_in/google_sign_in.dart:402:5)
3条答案
按热度按时间roejwanj1#
FlutterFire命令行工具会生成一个Dart文件,因此您不需要
GoogleService-Info.plist
。虽然使用命令行工具插入GoogleService-Info.plist
是多余的。但是,您还必须在初始化时指定生成的选项:使用
DefaultFirebaseOptions
是使用Firebase和Flutter的新方法,手动插入配置文件是旧方法。编辑:我不明白这个问题是关于
GoogleSignIn
插件的(我没有真正阅读堆栈跟踪😅)。在这种情况下,错误与错误消息中的错误完全相同。您没有指定客户端ID:EDIT:是的,新版本的
flutterfire
也会生成相应的文件,如GoogleService-Info.plist
,但您不再需要这些文件,因为参数clientId
存在于GoogleSignIn
插件中。vxbzzdmp2#
有人在github上发布了这个问题。https://github.com/flutter/flutter/issues/96248
众人说:
google_sign_in插件目前不支持dart的初始化,同时,你需要手动安装。
2022年8月31日,我仍然面临同样的问题
8dtrkrch3#
将GoogleService-Info.plist文件移到Runner文件夹中,我就解决了这个问题。