Google 登录流程对我来说有点奇怪,我不确定如何执行 segue 来显示我想要的 VC。
我已按照 Google 登录文档进行操作,流程如下
当我点击 google 按钮并使用我的 google 帐户登录时,我的 LoginVC 会调用以下内容
func signInWillDispatch(signIn: GIDSignIn!, error: NSError!) {
然后在应用程序委托(delegate)中调用以下函数
// Google signin func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) { if let error = error { print(error.localizedDescription) return } let authentication = user.authentication let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken, accessToken: authentication.accessToken) FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in if let error = error { print("Error Signing in google") } else { print("Google signin successfully \(user?.email)") } }
这是我可以检索用户数据的地方。我希望能够在从用户那里检索到我想要的所有数据后显示详细 View Controller 。但是,我真的无法从应用程序委托(delegate)中做到这一点。
另外,我的 LoginVC 中还有另外两个默认的 google 函数没有被调用,我不知道如何调用它。我相信这两个函数可能是我想要的解决方案?
func signIn(signIn: GIDSignIn!, presentViewController viewController: UIViewController!) {
func signIn(signIn: GIDSignIn!, dismissViewController viewController: UIViewController!) {
谢谢
最佳答案
This is where I can retrieve the user data. I want to be able to display a detail view controller after I retrieved all the data I wanted from the user. However, I cant really do that from app delegate.
您实际上可以对数据做任何您想做的事情并显示您的 View Controller 。
一旦您在应用程序委托(delegate)中收到了所有必需的数据,请将 NSNotification 中的数据传递到基本 Controller ,您将在其中推送或呈现详细 View Controller ,并且您可以使用从 NSNotification 传递的数据。
步骤:
- 发布来自应用委托(delegate)的通知以及收到的数据 来自 Google 的回电。
- 将监听器添加到基类中,您将从中推送或呈现详细信息 View 。
- 在基类的监听器函数调用中,检索从应用程序委托(delegate)对象传递的数据,并使用它来推送或呈现详细 View Controller 。
关于ios - 谷歌登录并呈现 View Controller Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38561924/