Programmazione

Firebase Auth per iOS: attenzione alle modifiche!

Sto seguendo un videocorso per iOS, ben fatto,  che in una lezione, utilizza Firebase, il DB in cloud di Google.

Purtroppo però pare che dal momento in cui è stato registrato il corso ed oggi, Firebase ha modificato la sintassi di alcune funzioni.

Ergo, nel mio codice di esempio, ottenevo costantemente un errore.

Nello specifico, lo script voleva mostrare in console di XCode la mail dell’utente che aveva fatto login.

Il codice originale, che è anche quello trovato sul sito di Firebase e su vari forum, è questo:

Auth.auth().signIn(withEmail: email, password: pass) { (user, error) in

if let err  = error

{

print(“Error signing in” + err.localizedDescription)

return

}

print(“Signed in: ” + (user?.email)!)

}

In realtà, il SignIn non restituisce un oggetto di tipo user ma piuttosto un oggetto di tipo AuthResult

Quello che suona curioso, è come nella documentazione ufficiale, si faccia riferimento ad AuthResult quando si crea un utente, ma non quando viene effettuato il Sign In. Dimenticanza? Svista? O si tratta di un bug nella libreria?

Ad ogni modo, io ho risolto modificando il codice in questa maniera, dopo un’illuminazione a seguito di un appisolamento davanti al monitor:

Auth.auth().signIn(withEmail: email, password: pass) { (AuthDataResult, error) in

if let err  = error

{

print(“Error signing in” + err.localizedDescription)

return

}

print(“Signed in: ” + (AuthDataResult?.user.email)!)

}

In questo modo non ho avuto errori di compilazione, e in console mi è apparsa la mia mail di testing che ho utilizzato su Firebase.

 

Lascia una risposta

20 + tredici =

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.