Firebaseの認証について多くの質問がありましたが、いずれも助けになりませんでした(認証方法が少し違っていました)。私は経験豊かなiOS開発ではないので、コードだけでなくUXでも助けが必要です。以下は私のコードです:iOS - Firebase認証/電子メールでのログイン
func loginDidFinish(email: String, password: String, type: LFLoginController.SendType) {
// Server call implementation here
if type == .Login {
if user.exists { // check if user exists
FIRAuth.auth()?.signInWithEmail(email, password: password, completion: {
navigationController?.popViewControllerAnimated(true)
})
} else {
self.controller.wrongInfoShake()
}
} else { // type == .SignUp
if user.exists { // check if user exists
FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (user, error) in
//
})
} else {
FIRAuth.auth()?.createUserWithEmail(email, password: password, completion: { (user, error) in
//
})
}
}
print(email)
print(password)
print(type)
// handling errors
if email == "" && password == "" {
controller.wrongInfoShake()
} else {
navigationController?.popViewControllerAnimated(true)
}
}
これは私のログイン用の機能です。まず、私はログインページのフレームワークを使用しました(はい、自分自身を行うにはあまりにも怠惰です)hereから。 Firebaseをバックエンドサーバーとして使用してそのアカウントを保管しました。
ここで、ユーザーがシステムに既に存在するかどうかを確認する方法がわかりません。また、エラーが発生した場合、LFLoginController
libには、エラーが発生するたびに使用するwrongInfoShake()
という機能が用意されていますが、間違った説明を提供する必要があるかどうかわかりません。(は、AlertControl
これはUX質問btwです)。
タイプがSignUpに変更された場合、ユーザーがSignUpタイプを使用していても、その情報を使用してログインするための既存の電子メールとパスワードを入力すると問題はありませんか?
SignUpがオンになると、エラーは処理する必要がありますか?