Informazioni su Firebase sulle piattaforme Apple

Durante lo sviluppo dell'app Apple utilizzando Firebase, potresti scoprire concetti sconosciuti o specifici di Firebase. Questa pagina ha lo scopo di rispondere a queste domande o indirizzarti a risorse per saperne di più.

Se hai domande su un argomento non trattato in questa pagina, visita una delle nostre community online. Aggiorneremo periodicamente questa pagina con nuovi argomenti, quindi ricontrolla per vedere se abbiamo aggiunto l'argomento che ti interessa.

Supporto delle librerie Firebase per piattaforma

La seguente tabella descrive quali librerie Firebase sono compatibili con le piattaforme Apple. Per il momento, visionOS e watchOS sono supportati solo dalla community. Consulta il repository GitHub dell'SDK delle piattaforme Apple di Firebase per istruzioni di installazione e problemi noti.

Raccolta iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 o versioni successive macOS 12+ Catalyst 15+ tvOS 15+ (solo assistenza dalla community) watchOS 8+
Analytics v8.9.0+ v8.9.0+ v8.9.0+
Analytics senza ID annuncio v8.9.0+ v8.9.0+ v8.9.0+
Analytics conversione sul dispositivo
App Check Fornitore DeviceCheck watchOS 9+
App Check Provider App Attest iOS 14 e versioni successive macOS 11+ Catalyst 14+ tvOS 15+ watchOS 9+
App Check custom e di debug
App Distribution
Authentication parziale parziale parziale parziale parziale
Cloud Firestore Solo distribuzioni di origine
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Data Connect
Dynamic Links
Firebase installazioni
Firebase ML Model Downloader
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic in precedenza era chiamato "Vertex AI in Firebase".

App Clip

La maggior parte delle librerie Firebase verrà compilata ed eseguita in un target App Clip, ma molte sono limitate a causa delle restrizioni del sistema operativo sottostante. I problemi noti includono:

  • I Dynamic Link non possono indirizzare gli utenti a un'app clip se toccano un link senza aver installato l'app.
  • Firestore e Realtime Database non possono caricare dati negli app clip a causa di una dipendenza CFStream sottostante.

Consulta il repository GitHub di Firebase per un elenco completo dei problemi noti relativi agli app clip.

GoogleService-Info.plist

Quando aggiungi Firebase al tuo progetto Apple, devi aggiungere il file di configurazione GoogleService-Info.plist al progetto. Se vuoi utilizzare più progetti Firebase in una singola app, consulta la documentazione relativa alla configurazione di più progetti.

Consulta la documentazione di riferimento di Swift per scoprire di più sulla procedura di inizializzazione dell'app Firebase.

Swift Package Manager

Scopri di più sull'integrazione di Swift Package Manager nella nostra guida.

Estensioni Swift

Le estensioni Swift dell'SDK della piattaforma Apple di Firebase erano in precedenza piccoli componenti aggiuntivi open source alle librerie della piattaforma Apple di Firebase esistenti che consentono al tuo codice di utilizzare funzionalità specifiche del linguaggio Swift. Queste API sono state aggiunte direttamente alle librerie principali e non devono essere incluse separatamente. Se in precedenza avevi un SDK per le estensioni Swift nel tuo codebase, consulta la guida alla migrazione per istruzioni sull'upgrade.

SwiftUI

Firebase supporta completamente SwiftUI, anche se la configurazione sarà leggermente diversa dalle app UIKit affinché Firebase funzioni correttamente in un ambiente completamente SwiftUI. Per ulteriori dettagli, consulta questo post del blog di Peter Friese.

Le applicazioni SwiftUI devono disattivare lo swizzling a causa di un problema noto. Per ulteriori dettagli, consulta la sezione Scambio di delegati di app.

Swizzling del delegato dell'app

Firebase esegue lo swizzling di alcuni metodi nella classe del delegato dell'app per collegare automaticamente determinati servizi Firebase ai callback del sistema operativo, come FCM e il token APNs. Puoi disattivare lo swizzling nella tua app aggiungendo il flag FirebaseAppDelegateProxyEnabled nel file Info.plist dell'app e impostandolo su NO.

Quattro prodotti Firebase utilizzano lo swizzling del delegato dell'app: Analytics, App Distribution, Authentication e FCM. Se hai disattivato lo swizzling nella tua applicazione e utilizzi uno dei seguenti prodotti, consulta la guida specifica del prodotto per scoprire come utilizzarlo senza swizzling:

Supporto di iOS 14

iOS 14 include nuove modifiche alle autorizzazioni utente relative all'identificatore pubblicitario dell'utente. Consulta la guida alla preparazione per iOS 14 per ulteriori dettagli su se la tua app potrebbe essere interessata o meno.

Supporto continuo per Objective-C

Per semplificare la manutenzione della documentazione delle nostre piattaforme Apple, Firebase ha deciso di concentrarsi su snippet e campioni di codice Swift nelle nostre guide e in altri materiali per sviluppatori. Gli snippet Objective-C verranno rimossi dalle nostre guide a partire dal 1° gennaio 2024. Continueremo a mantenere aggiornata la documentazione di riferimento per Objective-C per tutti i prodotti Firebase.

Risorse open source per gli SDK delle piattaforme Apple di Firebase

Firebase supporta lo sviluppo open source e incoraggia i contributi e il feedback della community.

SDK per le piattaforme Apple di Firebase

Tutti gli SDK Firebase per le piattaforme Apple, ad eccezione di Analytics, sono sviluppati come librerie open source nel nostro repository GitHub di Firebase pubblico.

FirebaseUI

FirebaseUI è un insieme di librerie di utilità basate su Firebase, tra cui un flusso dell'interfaccia utente integrato per l'autenticazione e utilità per i dati per Cloud Firestore e Realtime Database. Per maggiori dettagli su FirebaseUI, visita la nostra pagina GitHub.

Esempi di avvio rapido

Firebase gestisce una raccolta di esempi di avvio rapido per la maggior parte delle API Firebase su iOS. Trova queste guide rapide nel nostro repository di guide rapide GitHub di Firebase pubblico.

Puoi aprire ogni guida rapida in Xcode, quindi eseguirla su un dispositivo mobile o su un simulatore. In alternativa, puoi utilizzare questi quickstart come codice di esempio per l'utilizzo degli SDK Firebase.