如何捕获Flutter Google登录PlatformException?

Yay*_*aya 11 ios dart google-signin flutter

遵循辉煌的Firebase Flutter教程,我正在尝试将Google登录纳入我的应用程序.

流:如果没有登录,用户始终在登录页面(在通过检查到达MaterialApponGenerateRoute),然后,用户按下登录按钮,并重定向到谷歌登录流程.但是,如果用户中途取消流量,我想返回登录页面,强制她再次按下按钮.

由于某种原因,我无法捕获PlatformException(您可以在调试器中看到它,并且应用程序挂在模拟器中): 在调试器中的异常,应用程序挂起在模拟器中

我正在使用的代码:

  Future<bool> logIn() async {
    print('Login::logIn()');
    bool loggedIn = await logInSilently();
    print('Login::logIn() - silent login returned $loggedIn');
    if (loggedIn == false) {
      try {
        await googleSignIn.signIn();
      } catch (e) {
        print('Login::logIn() - interactive login failed: $e');
        return false;
      }
    }
    return true;
  }
Run Code Online (Sandbox Code Playgroud)

printcatch块中的语句永远不会打印,应用程序挂起.在发布问题之前,我已经升级了扑动并重新测试 - 问题仍然存在.

(澄清一下:"快乐路径" - 即用户成功通过Google登录流程 - 有效.)

Col*_*son 1

我相信这已在google_sign_in 版本 0.2.1中修复

尝试将更改您的google_sign_in依赖项放入pubspec.yamlto中^0.2.1,看看是否有帮助。

  • 我在 3.0.4 中使用 google 登录时遇到同样的问题。所以我不相信它已被修复 (9认同)