Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Integrare la SDK di Firebase su iOS

Come integrare la SDK di Firebase all'interno di un progetto di creazione di un'app mobile per iOS, al fine di abilitare il social login.
Come integrare la SDK di Firebase all'interno di un progetto di creazione di un'app mobile per iOS, al fine di abilitare il social login.
Link copiato negli appunti

Nelle lezioni precedenti è stata offerta una panoramica su cos’è Firebase e su come integrarlo sulle piattaforme Android. In questa lezione e nelle prossime, ci focalizzeremo invece sui passi da compiere per integrare la SDK di Firebase e il servizio di autenticazione in un progetto iOS di base.

Prerequisiti

Per poter integrare correttamente Firebase all’interno di un nuovo progetto iOS o di uno già esistente è consigliato rispettare i seguenti requisiti minimi:

  • Xcode 8.0 (o più recenti)
  • target del progetto iOS 8 o superiori;
  • Swift 3 (o versione più recente se è il linguaggio scelto per lo sviluppo dell’applicazione);
  • il bundle identifier dell’app;
  • CocoaPods 1.4.0 (o più recenti).

Soddisfatti questi requisiti, sarà possibile procedere con l’integrazione di Firebase nella propria app.

Integrazione della SDK di Firebase e del servizio di autenticazione

Il primo passo da compiere per poter utilizzare il servizio offerto da Firebase è l’integrazione della SDK tramite CocoaPods. Se non abbiamo ancora configurato CocoaPods per il nostro progetto, sarà sufficiente seguire la lezione 9 per ulteriori dettagli.

Spostiamoci quindi all’interno della root del nostro progetto e apriamo il Podfile precedentemente creato per aggiungere i pod di interesse, ossia:

Pod Descrizione
compile 'com.google.firebase:firebase-core:11.8.0' Fornisce le funzionalità di base di Firebase e l’accesso a Google Analytics
com.google.firebase:firebase-auth:11.8.0 Fornisce il servizio di autenticazione di firebase

Il Podfile così creato sarà simile al seguente:

target 'SocialLoginHMTLit' do
  use_frameworks!
  # Pods for SocialLoginHMTLit
  pod 'Firebase/Core'
  pod 'Firebase/Auth'
end

Salviamo il file ed installiamo i pod attraverso il seguente comando da terminale:

pod install

Al termine dell’installazione delle librerie, sono stati creati il file SocialLoginHMTLit.xcworkspace, che rappresenta il workspace contenente il progetto, e i Pods, che sono appena installati. Questo diventerà il workspace di riferimento che utilizzeremo come base di partenza per integrare il social login tramite le piattaforme mobile in esame (Facebook, Google, e Twitter).

Figura 93. Output del comando pod install (click per ingrandire)

Output del comando pod install

Apriamo il SocialLoginHMTLit.xcworkspace e passiamo all’integrazione del file GoogleService-Info.plist.

Integrazione del GoogleService-Info.plist nel workspace

Nella lezione 14, è stata aggiunta una nuova applicazione iOS al progetto SocialLoginHTMLit di Firebase, ottenendo alla fine del processo il file di configurazione GoogleService-Info.plist, necessario per l’utilizzo di tutti i servizi di Firebase ed in particolare di quello di autenticazione oggetto di questa guida.

Aggiungiamo quindi il file GoogleService-Info.plist nella radice del progetto, facendo click con il tasto destro sulla cartella del progetto, quindi su Add Files to “SocialLoginHTMLit”..., e infine selezionando il file dalla cartella locale.

Una volta caricato il file, la struttura del nostro progetto sarà simile a quella mostrata nella seguente figura.

Figura 94. Locazione del file GoogleService-Info.plist all’interno del progetto (click per ingrandire)

Locazione del file GoogleService-Info.plist all’interno del progetto

A differenza dalla versione JSON per Android, il file GoogleService-Info.plist è un file di testo strutturato (in un formato chiave-valore) contenente le informazioni essenziali per usufruire dei servizi di Firebase. In particolare:

Dato Descrizione Informazioni
project_info Racchiude informazioni come il numero e l’identificativo del progetto, e la firebase url. Quest’ultima rimanda alla sezione Database della console di Firebase del nostro progetto GCM_SENDER_ID;
PROJECT_ID;
STORAGE_BUCKET;
DATABASE_URL
client Definisce le informazioni sul client, tra cui il nome del package del progetto, le informazioni per il client OAuth, l’API Key per l’app e quelli che sono i servizi abilitati CLIENT_ID;
REVERSED_CLIENT_ID;
API_KEY;
BUNDLE_ID;
etc.
PLIST_VERSION Rappresenta il numero di versione della configurazione

Nella figura seguente è mostrato un esempio della struttura del file GoogleService-Info.plist.

Figura 95. Struttura del GoogleService-Info.plist (click per ingrandire)

Struttura del GoogleService-Info.plist

Nota: per le informazioni in esso contenute, nel caso in cui si stia versionando il progetto tramite Git, è consigliato di evitare di caricare in rete questo file. Per ulteriori informazioni su come gestire il versionamento di un progetto, si rimanda alla nostra guida a Git.

Inizializzazione di Firebase

Non resta che un ultimo passo da compiere: inizializzare la libreria di Firebase all'iterno del progetto.

Apriamo la classe AppDelegate e importiamo la libreria Firebase come segue:

Swift

import Firebase

Objective-C
@import Firebase;

Successivamente, nel metodo didFinishLaunchingWithOptions, invochiamo il metodo configure della classe FirebaseApp (o FIRApp).

Swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions
	launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
	FirebaseApp.configure()
	. . .
}

Objective-C
- (BOOL)application:(UIApplication *)application
	didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
	[FIRApp configure];
	. . .
}

Ora che il nostro ambiente è opportunamente configurato, non resta che intregrare il social login di interesse.

Ti consigliamo anche