gpt4 book ai didi

ios - 快速谷歌登录

转载 作者:行者123 更新时间:2023-11-28 06:12:07 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序中添加 Google 登录(使用 firebase),我可以成功访问,但我不知道如何在此之后更改 viewController

import UIKit
import FirebaseAuth
import FBSDKCoreKit
import FBSDKLoginKit
import GoogleSignIn

class FirstClass: UIViewController , FBSDKLoginButtonDelegate, GIDSignInUIDelegate {


@IBOutlet weak var FirstClass: UIView!
@IBOutlet weak var signButton: UIButton!
@IBOutlet weak var lButton: UIButton!
@IBOutlet weak var customSegmented: CustomSegmentedControl!


let loginButton = FBSDKLoginButton()


/* let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString) */






override func viewDidLoad() {
super.viewDidLoad()

/* GIDSignIn.sharedInstance().uiDelegate = self
GIDSignIn.sharedInstance().signIn() */

setupGoogleButtons()

loginButton.readPermissions = ["public_profile", "email", "user_friends"]
loginButton.frame = CGRect(x: 67, y: 536, width: 118, height: 41 )
loginButton.delegate = self
self.view.addSubview(loginButton)
}




override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}






override func viewDidAppear(_ animated: Bool) {

if Auth.auth().currentUser != nil {
self.performSegue(withIdentifier: "goToHome1", sender: self)
}

}



fileprivate func setupGoogleButtons() {

let googleButton = GIDSignInButton()
googleButton.frame = CGRect(x: 189, y: 536, width: 118, height: 41)
view.addSubview(googleButton)

GIDSignIn.sharedInstance().uiDelegate = self
}





func handleCustomGoogleSign() {
GIDSignIn.sharedInstance().signIn()
}











func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error?) {

if let error = error {
print("Failed to log into Google: ", error)
return
}
print("Successfully logged into Google", user)

guard let idToken = user.authentication.idToken else { return }
guard let accessToken = user.authentication.accessToken else { return }
let credentials = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: accessToken)

Auth.auth().signIn(with: credentials, completion: { (user, error) in
if let err = error {
print("Failed to create a Firebase User with Google account: ", err)
return
}

guard let uid = user?.uid else { return }

print("Successfully logged into Firebase with Google", uid)
})
}

这是 viewController 代码的相关部分,其中包含 google 登录按钮。成功登录后,我必须在哪里添加“执行转场”以更改 View ?

最佳答案

我正在使用它在 Appdelegate 中执行 segue

let navigationController = self.window?.rootViewController as! UINavigationController
for controller in navigationController.viewControllers {
if let LoginViewController = controller as? LogInViewContoller {
LoginViewController.performSegue(withIdentifier: "logInToHome", sender: nil)
break
}

您可以在登录Appdelegate后放置这段代码。这样,一旦登录,您就可以直接转到下一个 View Controller 。

关于ios - 快速谷歌登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46237573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com