Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios GIDSigneDelegate在swift中用于Google身份验证的AppDelegate和UIViewController之外的类中的使用示例_Ios_Swift_Firebase_Firebase Authentication - Fatal编程技术网

Ios GIDSigneDelegate在swift中用于Google身份验证的AppDelegate和UIViewController之外的类中的使用示例

Ios GIDSigneDelegate在swift中用于Google身份验证的AppDelegate和UIViewController之外的类中的使用示例,ios,swift,firebase,firebase-authentication,Ios,Swift,Firebase,Firebase Authentication,我目前正在使用FirebaseManager类(任何UIViewController子类和AppDelegate除外)来实现GIDSignInDelegate协议 现在我不知道如何在用户成功登录到google帐户后显示错误或打开第一页。好的,sign(signIn:GIDSignIn!,didsignin user:gidsoggleuser!,withError error:error?{…}方法在尝试登录后被调用。如果您遵循他们的文档,它将在应用程序委托中设置,理论上该方法将位于该委托中 这

我目前正在使用FirebaseManager类(任何UIViewController子类和AppDelegate除外)来实现GIDSignInDelegate协议


现在我不知道如何在用户成功登录到google帐户后显示错误或打开第一页。

好的,
sign(signIn:GIDSignIn!,didsignin user:gidsoggleuser!,withError error:error?{…}
方法在尝试登录后被调用。如果您遵循他们的文档,它将在应用程序委托中设置,理论上该方法将位于该委托中

这是我的解决方案

  • 按照谷歌文档设置谷歌登录(将内容放入应用程序代理等)
  • 将FirebaseManager设置为GIDSignIn共享实例的UI委托(在它的init中或使用它的任何位置
    GIDSignIn.sharedInstance().uiDelegate=self/FirebaseManagerBlahblah
  • 从应用程序代理成功登录后访问uiDelegate
  • sign(sign:GIDSignIn!、didsignin用户:GIDGoogleUser!、withError错误:error?){
    guard let firebaseManager=signIn.ui委派为?firebaseManager else{return}
    …与firebaseManager合作!
    }


    我不喜欢依赖AppDelegate,但是尽可能多地遵循文档是最有意义的。

    好的方法,
    符号(signIn:GIDSignIn!,didsignin用户:GIDGoogleUser!,withError错误:error?{…}
    在尝试登录后被调用。如果您遵循他们的文档,它将在应用程序委托中设置,理论上该方法将位于该委托中

    这是我的解决方案

  • 按照谷歌文档设置谷歌登录(将内容放入应用程序代理等)
  • 将FirebaseManager设置为GIDSignIn共享实例的UI委托(在它的init中或使用它的任何位置
    GIDSignIn.sharedInstance().uiDelegate=self/FirebaseManagerBlahblah
  • 从应用程序代理成功登录后访问uiDelegate
  • sign(sign:GIDSignIn!、didsignin用户:GIDGoogleUser!、withError错误:error?){
    guard let firebaseManager=signIn.ui委派为?firebaseManager else{return}
    …与firebaseManager合作!
    }

    我不喜欢依赖AppDelegate,但尽可能多地遵循文档是最有意义的