Login Google con Firebase su iOS
Introduzione
Section titled “Introduzione”Questa guida ti aiuterà a integrare l’accesso con Google utilizzando Firebase Authentication su iOS. Suppongo che tu abbia già completato la configurazione generale di Firebase Google.
Passaggi di configurazione
Section titled “Passaggi di configurazione”-
Vai alla panoramica del progetto su console.cloud.google.com

-
Fai clic sul pulsante
Add app

-
Seleziona
iOS
-
Compila la prima parte del modulo
- Compila il campo
Apple bundle ID- Apri Xcode nella tua app utilizzando
npx cap open ios - Fai doppio clic su
App
- Assicurati di essere su
Targets -> App
- Trova il tuo
Bundle Identifier
- Copia il
Bundle Identifiere incollalo nella console Firebase
- Apri Xcode nella tua app utilizzando
- Fai clic sul pulsante
Register app
- Compila il campo
-
Salta il passaggio
Download config file
-
Salta il passaggio
Add firebase SDK
-
Salta il passaggio
Add initialization code
-
Fai clic sul pulsante
Continue to console
-
Ottieni il tuo iOS client ID e il tuo
YOUR_DOT_REVERSED_IOS_CLIENT_ID-
Vai alla Google Cloud Console su console.cloud.google.com
-
Trova il tuo progetto
- Fai clic sul selettore del progetto

- Cerca il tuo progetto con il nome esatto del tuo progetto Firebase e fai clic su di esso. Nel mio caso, è
sociallogin-tutorial-app.
- Fai clic sul selettore del progetto
-
Apri la barra di ricerca e cerca
credentials- Apri la barra di ricerca

- Cerca
credentialse fai clic su quello diAPIs and Services(numero 2 nello screenshot)
- Apri la barra di ricerca
-
Fai clic su
iOS client for [YOUR_APP_ID] (auto created by Google Service). Nel mio caso, èsociallogin-tutorial-app.
-
Copia il
Client IDe l’iOS URL scheme. Questi saranno rispettivamente il tuoiOSClientIdeYOUR_DOT_REVERSED_IOS_CLIENT_ID.
-
-
Ottieni il tuo web client ID
- Torna alla console Firebase e vai su
Build->Authentication
- Fai clic sul pulsante
Sign-in method
- Fai clic sul provider
Google
- Fai clic sul pulsante
Web SDK configuration
- Copia il
Web client ID. Questo sarà il tuowebClientIdnel metodoinitializedel plugin.
- Torna alla console Firebase e vai su
-
Modifica il file Info.plist della tua app
-
Apri Xcode e trova il file
Info.plist
-
Fai clic destro su questo file e aprilo come codice sorgente

-
In fondo al tuo file
Plist, vedrai un tag</dict>
-
Inserisci il seguente frammento appena prima del tag di chiusura
</dict>
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array><key>GIDClientID</key><string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string> -
Cambia
YOUR_DOT_REVERSED_IOS_CLIENT_IDcon il valore copiato nel passaggio 9 (l’iOS URL scheme)
-
-
Cambia
YOUR_IOS_CLIENT_IDcon l’iOS Client ID che hai copiato nel passaggio 9 -
Salva il file con
Command + S -
Modifica l’
AppDelegate.swift-
Apri l’AppDelegate

-
Inserisci
import GoogleSignInall’inizio del file
-
Trova la funzione
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])
-
Modifica la funzione in questo modo
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {// Called when the app was launched with a url. Feel free to add additional processing here,// but if you want the App API to support tracking app url opens, make sure to keep this callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
Salva il file con
Command + S
-
-
Utilizzo del login Google nella tua app
A questo punto, sei pronto per utilizzare il login Google nella tua app. Utilizza il file authUtils.ts dell’app di esempio per autenticarti con Google.
L’utente verrà creato automaticamente in Firebase Auth al primo accesso
Risoluzione dei problemi
Section titled “Risoluzione dei problemi”Se l’autenticazione si blocca o fallisce:
- Verifica che l’audience dell’
idTokencorrisponda al tuo Firebase web client ID - Controlla che l’accesso con Google sia abilitato nella Console Firebase
- Assicurati che Info.plist abbia gli URL schemes corretti e GIDClientID
- Verifica che
iOSServerClientIdcorrisponda al tuo web client ID - Rivedi il codice dell’app di esempio come riferimento