Questa pagina offre suggerimenti e risoluzione dei problemi specifici della piattaforma Apple che potresti riscontrare durante l'utilizzo di Firebase.
Hai altre sfide o non vedi il tuo problema descritto di seguito? Assicurati di controllare le domande frequenti principali di Firebase per ulteriori domande frequenti su Firebase o specifiche del prodotto.
Puoi anche controllare il repository GitHub dell'SDK delle piattaforme Apple Firebase per un elenco aggiornato dei problemi segnalati e la risoluzione dei problemi. Ti invitiamo a segnalare anche lì i tuoi problemi relativi all'SDK delle piattaforme Apple Firebase!
Quali versioni di Xcode supporta Firebase?
Firebase supporta fino a due versioni principali di Xcode, escluse le versioni di Xcode che Apple non supporta più. Ad esempio, a partire da marzo 2019, Apple ha richiesto almeno iOS 12 su tutte le app, il che significa che il supporto Xcode 9 è stato abbandonato e Xcode 10 era l'unica versione principale supportata.
Le modifiche al supporto per specifiche versioni secondarie o patch di Xcode (ad esempio, dalla 9.2.0 alla 9.4.1) vengono determinate in base alle esigenze dell'SDK delle piattaforme Firebase Apple e a un sondaggio sull'utilizzo da parte degli sviluppatori. Queste modifiche si riflettono nelle note di rilascio dell'SDK per piattaforme Apple Firebase e nella pagina di configurazione dell'SDK per piattaforme Apple Firebase .
Per visualizzare la versione minima di Xcode supportata dall'SDK, controlla i requisiti elencati in Aggiungi Firebase al tuo progetto Apple .
Il supporto di Firebase per le versioni beta di Xcode è disponibile in base al "massimo sforzo". Gli sviluppatori possono tenere traccia e inviare problemi nel repository SDK delle piattaforme Firebase Apple su GitHub .
La mia app richiede all'utente la password per accedere agli elementi del portachiavi su macOS. Come posso risolvere questo problema?
Aggiorna la tua dipendenza Firebase alla versione 9.6.0 o successiva e aggiungi la [Funzionalità di condivisione portachiavi](/docs/ios/troubleshooting-faq#macos-keychain-sharing) alla tua destinazione.
Perché Firebase richiede la funzionalità di condivisione del portachiavi su macOS?
Gli SDK Firebase utilizzano il portachiavi per archiviare informazioni come l'ID di installazione Firebase utilizzato per FCM. Senza l'accesso al portachiavi, gli SDK Firebase potrebbero non funzionare correttamente. Il portachiavi macOS si comporta in modo diverso rispetto al portachiavi in stile iOS utilizzato su altre piattaforme (iOS, tvOS, macCatalyst e watchOS).
Su macOS, le app utilizzano un portachiavi condiviso che può essere modificato da altre app e processi. A differenza di iOS, non esiste un portachiavi in modalità sandbox a cui l'app abbia accesso implicito. Pertanto, quando un'app Mac interagisce con il portachiavi, il sistema richiede all'utente l'accesso poiché l'app Mac potrebbe modificare un elemento del portachiavi che non ha creato. Per risolvere questa discrepanza, Firebase interroga il portachiavi con la chiave kSecUseDataProtectionKeychain
, che indica all'app di interrogare un elemento del portachiavi che fa parte di un gruppo di accesso del portachiavi (questo è il comportamento predefinito su altre piattaforme). La funzionalità di condivisione del portachiavi è necessaria perché l'app ne ha bisogno per sintetizzare un gruppo di accesso che può essere condiviso tra le sue destinazioni, autorizzando così l'app ad accedere liberamente agli elementi del portachiavi nel gruppo di accesso.
Per ulteriori informazioni, consulta la documentazione sul portachiavi di Apple .
Nelle versioni Xcode 13 e successive, perché le mie app UIKit non possono aprire alcuni URL che ho registrato
nel mio Info.plist?
Apple ha introdotto un limite di 50 voci LSApplicationQueriesSchemes
nei file Info.plist
. Nel 2015, Apple ha introdotto LSApplicationQueriesSchemes
per limitare il numero di query URL che ciascuna app può effettuare. Con il rilascio di Xcode 13, questi limiti vengono applicati, mentre in Xcode 12 e versioni precedenti non esisteva alcun limite effettivo al numero di schemi.
Alcuni prodotti Firebase, come Firebase Authentication e Firebase Dynamic Links, richiedono l'uso di schemi URL personalizzati per reindirizzare alla tua applicazione. Questi URL sono conformi a uno schema URL conciso e coerente che non dovrebbe contare in modo significativo rispetto al limite dello schema di 50 collegamenti.
Tieni presente che per le app che continuano a registrare più di 50 LSApplicationQueriesSchemes
, alcuni schemi verranno silenziosamente ignorati. L'app potrebbe non essere in grado di eseguire determinati deeplink, a seconda dell'ordine in cui vengono aggiunti.