ios - 登录功能不工作..抛出错误...Firebase 和 Xcode 9

标签 ios swift firebase firebase-authentication xcode9

我正在关注 youtube 上关于如何创建用户登录和注册的教程。我创建了三个 View Controller ...SignInVC、SignOutVC 和 SignUpVC。

注册功能在模拟器中完美运行...但是,当我尝试进行登录部分时,它根本不起作用。它不会抛出任何类型的错误...我只是点击了登录按钮,什么也没有。

注意:我没有像在注册 View 中那样在连接检查器中看到连接...所以我尝试再次拖动 socket (控制并将按钮拖动到 SignInVC),现在我在连接检查器中查看连接,但我现在收到此错误.....

从私有(private)有效用户设置中读取。 fatal error :在展开可选值时意外发现 nil 2017-09-04 14:50:03.988918-0400 示例项目 [12480:1387954] fatal error :在展开可选值时意外发现 nil (lldb)

这是我在 vc 中登录的代码:

import UIKit
import Firebase

class SignInVC: UIViewController {

//outlets

    @IBOutlet weak var emailTF: UITextField!
    @IBOutlet weak var passwordTF: UITextField!

//action


    @IBAction func onSignInTapped(_ sender: Any) {

        guard let email = emailTF.text,
        email != "",
        let password = passwordTF.text,
        password != ""
        else {
            AlertController.showAlert(self, title: "Missing Info", message: "Please fill out all required fields")
            return
        }

        Auth.auth().signIn(withEmail: email, password: password, completion: { (user, error) in
            guard error == nil else{
                AlertController.showAlert(self, title: "Error", message: error!.localizedDescription)
                return
            }
            guard let user = user else { return }
            print(user.email ?? "MISSING EMAIL")
            print(user.displayName ?? "MISSING DISPLAY NAME")
            print(user.uid)

            self.performSegue(withIdentifier: "signInSegue", sender: nil)


        })

    }



}

如前所述,我的注册非常有效。这是相关代码...如果有帮助...

import UIKit
import Firebase

class SignUpVC: UIViewController {

    //outlets

    @IBOutlet weak var usernameTF: UITextField!

    @IBOutlet weak var emailTF: UITextField!

    @IBOutlet weak var passwordTF: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

    }

    //actions


    @IBAction func onSignUpTapped(_ sender: Any) {

        guard let username = usernameTF.text,
            username != "",
            let email = emailTF.text,
            email != "",
            let password = passwordTF.text,
            password != ""
            else {
                AlertController.showAlert(self, title: "Missing Info", message: "Please fill out all fields")
                return

        }

        Auth.auth().createUser(withEmail: email, password: password, completion:  { (user, error) in

            guard error == nil else {
                AlertController.showAlert(self, title: "Error", message: error!.localizedDescription)
                return
            }
            guard let user = user else { return }
            print(user.email ?? "Missing Email")
            print(user.uid)

            let changeRequest = user.createProfileChangeRequest()
            changeRequest.displayName = username
            changeRequest.commitChanges(completion: { (error) in
                guard error == nil else {
                    AlertController.showAlert(self, title: "Error", message: error!.localizedDescription)
                    return
                }

                self.performSegue(withIdentifier: "signUpSegue", sender: nil)


            })

        })

    }


}

最佳答案

尝试在 capacitor.config 中设置服务器:{ iosScheme: "ionic"}

关于ios - 登录功能不工作..抛出错误...Firebase 和 Xcode 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46042840/

相关文章:

javascript - 获取函数外部变量的值

swift - 查询 Firebase Firestore 帖子的最有效方法

ios - 用于图像处理的 arm asm/neon 优化

Swift 泛型不保留类型

ios - 如何在不点击通知的情况下收到 FCM 通知时打开(启动)应用程序

ios - 按钮和标签在segue后消失

ios - 如何分析 Swift 中方法/函数使用的 CPU

ios - 从 NSUserDefaults 播放视频

ios - 将对象添加到 Parse.com 类时出现异常

iphone - 让 Xcode 提示缺少参数