[英]firebase analytics error when preforming segue
當我執行segue時,應用程序崩潰。 我檢查是否有任何sigbrt錯誤,但沒有。 我認為這是日志中的Firebase分析。 該錯誤來自日志:
以NSException類型的未捕獲異常終止。
編碼
@IBOutlet weak var email: UITextField!
@IBOutlet weak var password: UITextField!
@IBOutlet weak var adduser: UIButton!
@IBOutlet weak var errormessege: UILabel!
var databaseref = FIRDatabase.database().reference()
override func viewDidLoad() {
super.viewDidLoad()
password.isSecureTextEntry = true
adduser.isEnabled = false
}
@IBAction func didtapcancel(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
@IBAction func didtapadd(_ sender: Any) {
adduser.isEnabled = false
FIRAuth.auth()?.createUser(withEmail: email.text!, password: password.text!, completion: {(user,error) in
if error != nil {
if error!._code == 17999 {
self.errormessege.text = "Invalid email address" }
else {
self.errormessege.text = error?.localizedDescription
}
}
else
{
FIRAuth.auth()?.signIn(withEmail: self.email.text!, password: self.password.text!, completion: {(user,error) in
if (error == nil) {
self.databaseref.child("users").child(user!.uid).child("email").setValue(self.email.text!)
self.performSegue(withIdentifier: "hi", sender: nil)
}
else {
self.errormessege.text = error?.localizedDescription
}
})
}
}
)
}
@IBAction func didtextchange(_ sender: Any) {
if((email.text?.characters.count)!>0){
adduser.isEnabled = true}
else{
adduser.isEnabled = false}
}
@IBAction func did4(_ sender: Any) {
if((password.text?.characters.count)!>0){
adduser.isEnabled = true}
else{
adduser.isEnabled = false}
}
沒有更多的代碼和整個場景,很難明確確定代碼與Firebase之間的情況。 盡管可以追蹤到此錯誤,但對您有很大幫助的一件事是驗證在每個步驟中從@IBOutlets
中提取的數據。 這樣,您的程序就不會強行解開這些對象,也不會給您打開代碼帶來風險。
@IBOutlet weak var email: UITextField!
@IBOutlet weak var password: UITextField!
@IBOutlet weak var adduser: UIButton!
@IBOutlet weak var errormessege: UILabel!
var databaseref = FIRDatabase.database().reference()
override func viewDidLoad() {
super.viewDidLoad()
password.isSecureTextEntry = true
adduser.isEnabled = false
}
@IBAction func didtapcancel(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
@IBAction func didtapadd(_ sender: Any) {
adduser.isEnabled = false
guard let emailText = email.text,
let passwordText = password.text else {
// Handle error safely
print("Error unrapping email text or password text")
return
}
FIRAuth.auth()?.createUser(withEmail: emailText, password: passwordText, completion: { (user,error) in
if error != nil {
if error!._code == 17999 {
self.errormessege.text = "Invalid email address"
} else {
self.errormessege.text = error?.localizedDescription
}
} else {
FIRAuth.auth()?.signIn(withEmail: emailText, password: passwordText, completion: { (user, error) in
if (error == nil) {
guard let uid = user.uid else {
// handle error safely
print("Error with user uid")
return
}
self.databaseref.child("users").child(uid).child("email").setValue(emailText)
self.performSegue(withIdentifier: "hi", sender: nil)
}
else {
self.errormessege.text = error?.localizedDescription
}
})
}
})
}
@IBAction func didtextchange(_ sender: Any) {
guard let emailText = email.text else {
// Return error safely
print("Error unrapping email text")
return
}
if emailText.characters.count> 0 {
adduser.isEnabled = true
} else{
adduser.isEnabled = false
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.