мой экран входа в firebase вылетает при попытке входа в систему
Вот ошибка:
2018-05-02 09: 39: 25.937258-0400 noteCollab [2418: 625945] * Завершение работы приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «Указанная ссылка недействительна для входа по электронной почте или по ссылке. Пожалуйста, проверьте ссылку, вызвав isSignInWithEmailLink: link: on Auth, прежде чем пытаться использовать ее для входа по электронной почте / ссылке ». * Стек вызовов первого вызова: (0x1837d6d8c 0x1829905ec 0x1837d6c6c 0x1008aa3e0 0x10089c0b8 0x10089cd08 0x10089b808 0x101a29260 0x101a29220 0x101a37e80 0x101a2c730 0bec101x18FBBFB8c08x08e0b0b0b0b0b0b0b0b0b0b08b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0f0b0b0b0) libC++ abi.dylib: завершение с неперехваченным исключением типа NSException (lldb)
Вот мой код:
//
// signinViewController.swift
// noteCollab
//
// Created by James Hall on 5/2/18.
// Copyright © 2018 James Hall. All rights reserved.
//
import UIKit
import Firebase
import FirebaseAuth
class signinViewController: UIViewController {
@IBOutlet weak var signInSelector: UISegmentedControl!
@IBOutlet weak var signInLabel: UILabel!
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var signInButton: UIButton!
var isSignIn:Bool = true
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func signInSelectorChanged(_ sender: UISegmentedControl) {
isSignIn = !isSignIn
if isSignIn {
signInLabel.text = "Sign In"
signInButton.setTitle("Sign In", for: .normal)
}else{
signInLabel.text = "Register"
signInButton.setTitle("Register", for: .normal)
}
}
@IBAction func signInButtonTapped(_ sender: UIButton) {
if let email = emailTextField.text, let pass = passwordTextField.text{
//check if its sign in or register
if isSignIn{
//sign in the user with Firebase
Auth.auth().signIn(withEmail: email, link: pass) { (user, error) in
// check that user isnt nil
if error != nil{
print("cant sign in user")
}else{
self.performSegue(withIdentifier: "goToHome", sender: self)
}
}
}else{
//register the user with Firebase
Auth.auth().createUser(withEmail: email, password: pass) { (user, error) in
// check that user isnt nil
if let u = user {
//user is found, go to home
self.performSegue(withIdentifier: "goToHome", sender: self)
}else{
//error: check error and show message
}
}
}
}
}
}
да, у меня есть и я использую те же логин и пароль, которые я использовал при регистрации для входа в систему
Почему вы используете вход (с помощью электронной почты, ссылка) вместо пароля?
Я пытался использовать только адрес электронной почты и пароль, спасибо, Адил, ты мне действительно помогла
Рад помочь ?
Ваш код входа ищет ссылку электронной почты вместо пароля. Просто замените слово «ссылка:» на «пароль:», и все будет готово.
Auth.auth (). SignIn (withEmail: электронная почта, пароль: пароль)
Рад, что смог помочь!
Включили ли вы вход по электронной почте в методы аутентификации в консоли firebase?