Я пытаюсь выполнить аутентификацию на iOS с помощью Firebase и телефонных номеров.
Проблема, обнаруженная в инструкциях печати, связана с SubmitPhoneNumber (). Он попадает в оператор печати «мы нашли ошибку», и сообщается об ошибке
FIRAuthErrorUserInfoNameKey = ERROR_INVALID_PHONE_NUMBER, а также
FIRAuthErrorUserInfoNameKey = ERROR_WEB_ENTRE сделать это или как go об этом исправить. Формат телефонных номеров, которые я передаю, - "+ [код страны] 1234567890"
import SwiftUI
import Firebase
struct VerifyPhoneView: View {
private var phoneNumber: String = ""
@State private var verificationID: String = ""
@State private var verificationCode: String = ""
@State private var loginSuccesful: Bool = false
@EnvironmentObject var ls: LoginStatus
init(phoneNumber: String) {
self.phoneNumber = phoneNumber
submitPhoneNumber()
}
var body: some View {
ZStack {
Text("My code is")
TextField("Enter code", text: $verificationCode)
Button(action: {
self.submitVerificationCode()
}) {
Text("Continue")
}
}
}
func submitPhoneNumber() {
print("the submitPhoneNumber method was called")
PhoneAuthProvider.provider().verifyPhoneNumber("+1" + phoneNumber, uiDelegate: nil) { (verificationID, error) in
if error != nil {
print("we found an error")
print(error?.localizedDescription)
return
}
else {
print("we did not find an error")
print(verificationID!)
self.verificationID = verificationID!
}
}
}
func submitVerificationCode() {
print ("222 verificationID is " + self.verificationID)
let credential = PhoneAuthProvider.provider().credential(
withVerificationID: self.verificationID,
verificationCode: self.verificationCode)
Auth.auth().signIn(with: credential) { (user, error) in
if let error = error {
print(error.debugDescription)
return
}
// User is signed in
print("User signed in succesfully")
}
}
}