2016-11-15 11 views
0

誰かが私を助けてくれるのだろうかと思っていました。私はちょうどユーザーがアカウントを作成できるサインアップページを終了しました。私が今問題になっているのは、ログインビューでは、ログインボタンを押すだけで、電子メールとパスワードが間違っていても次のビューにリダイレクトされるということです。ユーザーのメールとパスワードが正しい場合にビューを切り替える際の問題

class LoginViewController: UIViewController, GIDSignInUIDelegate { 
@IBOutlet var userEmailLoginField: UITextField! 
@IBOutlet var userPasswordLoginField: UITextField! 

@IBAction func loginButton(_: Any) { 
let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let tabBarController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController 
let appDelegate = UIApplication.shared.delegate as! AppDelegate 
appDelegate.window?.rootViewController = tabBarController 

guard let email = userEmailLoginField.text, let password = userPasswordLoginField.text else { return } 
FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in 
if let error = error { 
    print(error.localizedDescription) 
    return 
    } 
} 
} 

答えて

0

新しいView Controllerをインスタンス化するコードを移動してみてください。以下の例では、Firebaseで認証する際にエラーがない場合にのみ実行するように移動しました。

class LoginViewController: UIViewController, GIDSignInUIDelegate { 
    @IBOutlet var userEmailLoginField: UITextField! 
    @IBOutlet var userPasswordLoginField: UITextField! 

    @IBAction func loginButton(_: Any) { 

     guard let email = userEmailLoginField.text, let password = userPasswordLoginField.text else { return } 
     FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in 
     if let error = error { 
     print(error.localizedDescription) 
     return 
     } else { 
     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let tabBarController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController 
     let appDelegate = UIApplication.shared.delegate as! AppDelegate 
     appDelegate.window?.rootViewController = tabBarController 
    } 
    } 
    } 
+0

問題を解決しました。ありがとうございました! – Yeah

関連する問題