如何捕获Flutter Google登录PlatformException?

时间:2017-06-24 19:12:24

标签: ios dart google-signin flutter

按照精彩的http://localhost:3000/partOfGroup?groupId=594ea5bc4be3b65eeb8705d8&userId=12345教程,我尝试将Google登录纳入我的应用程序。

流程:如果未登录,用户将始终到达登录页面(通过MaterialApp onGenerateRoute检查),然后用户按下登录按钮并重定向到Google登录流程。但是,如果用户中途取消流量,我想返回登录页面,强迫她再次按下该按钮。

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

我使用的代码:

  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;
  }

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

(澄清:&#34;快乐路径&#34; - 即用户成功通过Google登录流程 - 正常工作。)

1 个答案:

答案 0 :(得分:1)

我认为这是fixed中的google_sign_in version 0.2.1

尝试将您的google_sign_in依赖项更改为pubspec.yaml^0.2.1,看看是否有帮助。