Я использую AWS Cognito для аутентификации пользователя.
В SignInView.swift
есть текстовое поле и защищенное поле для электронной почты и пароля пользователя.
Когда пользователь пишет свой собственный адрес электронной почты и пароль, привязанный к его учетной записи, он может набрать sh Sign In Button
.
После нажатия кнопки вызывается функция signIn()
.
Это signIn()
функция.
func signIn(email: String, password: String) -> Promise<Bool> {
return Promise<Bool> (in: .background, { resolve, reject, _ in
self.userPool.getUser(email).getSession(email, password: password, validationData: nil).continueWith(block: {task -> Void in
if let error = task.error as NSError? {
//
// Sign up Failed
//
let errorType = error.userInfo["__type"] as? String
print(errorType!)
DispatchQueue.main.async {
self.errorHandler(errorType: errorType!)
reject(error)
}
return
}
// Signed Up
DispatchQueue.main.async {
self.email = email
let authDetails = AWSCognitoIdentityPasswordAuthenticationDetails(username: email, password: password)
self.passwordAuthenticationCompletion?.set(result: authDetails)
self.userErrorState = .none
self.isLoading = false
self.refresh()
}
})
})
}
Здесь возникает проблема, заключающаяся в том, что содержимое каждых двух текстовых полей, как я уже говорил, исчезает при вызове .continuedWith
из signIn() function
.
Но две переменные, привязанные к двум текстовым полям, имеют значение фактического пользовательского ввода.
Я хочу знать, почему исчез контент и как это исправить.
Спасибо!