错误"用户已经存在"使用PARSE.com注册新用户

时间:2017-07-20 16:49:41

标签: swift logging parse-platform

我是使用PARSE的新手,我希望它能够管理登录 - 为我的应用注册用户。 问题是,当我注册一个新用户时,它会给我一个用户已经注册的错误,即使我在PARSE控制台中擦除了所有用户。有趣的是,应用程序仍然会注册新用户。

我得到的错误是:"错误域=解析代码= 202"此用户名已存在帐户。" UserInfo = {code = 202,temporary = 0,error =此用户名已存在帐户。,此用户名已存在NSLocalizedDescription =帐户。}"

首先我在同一个ViewController中注册并登录,只是询问用户是否要登录或注册,但是试图解决这个问题,我创建了一个新的ViewController,这是相关的代码:

import UIKit
import Parse

class RegistroUsuario: UIViewController, UITextFieldDelegate {

    var activityIndicator = UIActivityIndicatorView()
    var bottomConstraintConstant:CGFloat = 103.0

    @IBOutlet weak var scrollviewBottom: NSLayoutConstraint!

    @IBOutlet var userTextField: UITextField!
    @IBOutlet var emailTextField: UITextField!
    @IBOutlet var password1TextField: UITextField!
    @IBOutlet var password2TextField: UITextField!

    //Crear alerta
    func createAlert(title: String, message: String) {
        let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)

        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) in
            alert.dismiss(animated: true, completion: nil)}))
        self.present(alert, animated: true, completion: nil)
    }

    @IBAction func registerButtonPressed(_ sender: Any) {
        if emailTextField.text == "" || userTextField.text == "" || password1TextField.text == "" || password2TextField.text == "" {
            createAlert(title: "Error", message: "Please fill all the info")

        } else {

            if password1TextField.text != password2TextField.text {

                createAlert(title: "Error", message: "Passwords should match")
            } else {

                activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
                activityIndicator.center = self.view.center
                activityIndicator.hidesWhenStopped = true
                activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
                view.addSubview(activityIndicator)
                activityIndicator.startAnimating()
                UIApplication.shared.beginIgnoringInteractionEvents() // UIApplication.shared() is now UIApplication.shared

                let user = PFUser()

                user.username = userTextField.text
                user.email = emailTextField.text
                user.password = password1TextField.text

                let acl = PFACL()

                acl.getPublicWriteAccess = true

                user.acl = acl

                user.signUpInBackground(block: { (success, error) in

                    self.activityIndicator.stopAnimating()
                    UIApplication.shared.endIgnoringInteractionEvents() // UIApplication.shared() is now  UIApplication.shared

                    if error != nil {

                        var displayErrorMessage = "Please try again later."

                        let error = error as NSError?

                        if let errorMessage = error?.userInfo["error"] as? String {

                            displayErrorMessage = errorMessage

                        }

                        self.createAlert(title: "Signup Error", message: displayErrorMessage)

                    } else {

                        self.view.endEditing(true)

                        let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "sbPopUpID") as! PopUpRegistro
                        self.addChildViewController(popOverVC)
                        popOverVC.view.frame = self.view.frame
                        self.view.addSubview(popOverVC.view)
                        popOverVC.didMove(toParentViewController: self)


                    }
                })
            }
        }
    }
}

正如您所看到的,如果注册过程正确,它应该打开一个弹出视图,如果我在按下注册按钮时尝试注册一个新用户,我会收到警告说它已经存在,当时我按OK,打开Pop Up,在Parse控制台中我获得新用户。所以它的工作"但我不希望用户感觉在没有注册时出现错误。

我使用Bitnami Parse Server 2.3.8-0和AMW。

为什么会这样做呢?

由于

0 个答案:

没有答案