Questa pagina offre suggerimenti e soluzioni per i problemi specifici delle piattaforme Apple che potresti riscontrare durante l'utilizzo di Firebase.
Hai altre difficoltà o non trovi il tuo problema di seguito? Assicurati di consultare le domande frequenti principali di Firebase per ulteriori domande frequenti su Firebase o specifiche per i prodotti.
Puoi anche consultare il repository GitHub dell'SDK Firebase per piattaforme Apple per un elenco aggiornato dei problemi segnalati e della relativa risoluzione. Ti invitiamo a segnalare lì anche i tuoi problemi relativi all'SDK Firebase per piattaforme Apple.
Quali versioni di Xcode sono supportate da Firebase?
Firebase supporta fino a due versioni principali di Xcode, escluse le versioni di Xcode non più supportate da Apple. Ad esempio, a partire da marzo 2019, Apple ha richiesto almeno iOS 12 su tutte le app, il che significa che il supporto di Xcode 9 è stato ritirato e Xcode 10 è stata l'unica versione principale supportata.
Le modifiche al supporto di versioni secondarie o patch specifiche di Xcode (ad esempio, da 9.2.0 a 9.4.1) vengono determinate in base alle esigenze dell'SDK Firebase per piattaforme Apple e a un sondaggio sull'utilizzo da parte degli sviluppatori. Queste modifiche sono riportate nelle note di rilascio dell'SDK Firebase per piattaforme Apple e nella pagina di configurazione dell'SDK Firebase per piattaforme Apple.
Per visualizzare la versione minima di Xcode supportata dall'SDK, consulta i requisiti elencati in Aggiungi Firebase al tuo progetto Apple.
Il supporto di Firebase per le versioni beta di Xcode è disponibile secondo il criterio del "best effort". Gli sviluppatori possono monitorare e inviare i problemi nel
repository dell'SDK delle piattaforme Apple di Firebase su GitHub.
La mia app chiede all'utente la password per accedere agli elementi del Portachiavi su macOS. Come faccio a risolvere il problema?
Esegui l'upgrade della dipendenza Firebase alla versione 9.6.0 o successive e aggiungi la
[funzionalità di condivisione del portachiavi](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
al tuo target.
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 potrebbe essere modificato da altre app e altri processi. A differenza di iOS, non esiste un portachiavi con sandbox a cui l'app ha accesso implicito. Pertanto, quando un'app per Mac interagisce con il portachiavi, il sistema chiede all'utente l'accesso, poiché l'app per Mac potrebbe modificare un elemento del portachiavi che non ha creato. Per risolvere questa discrepanza, Firebase esegue una query sul
keychain con la chiave kSecUseDataProtectionKeychain, che indica
all'app di eseguire una query su un elemento del keychain che fa parte di un gruppo di accesso al keychain
(questo è il comportamento predefinito su altre piattaforme). La funzionalità di condivisione del portachiavi è obbligatoria perché l'app ne ha bisogno per sintetizzare un gruppo di accesso che può essere condiviso tra i suoi target, concedendo così all'app l'autorizzazione ad accedere liberamente agli elementi del portachiavi nel gruppo di accesso.
Per saperne di più, consulta la
documentazione di Apple sul Portachiavi
.
Nelle versioni di Xcode 13 e successive, perché le mie app UIKit non riescono ad aprire alcuni URL che ho registrato
nel mio file 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 ogni app poteva effettuare. Con l'uscita di Xcode 13, questi limiti vengono applicati, mentre in Xcode 12 e versioni precedenti non esisteva un limite effettivo al numero di schemi.
Alcuni prodotti Firebase, come Firebase Authentication e Firebase Dynamic Links, richiedono l'utilizzo di schemi URL personalizzati per il reindirizzamento alla tua applicazione. Questi URL sono conformi a uno schema URL conciso e coerente che non dovrebbe incidere in modo significativo sul limite di 50 schemi di link.
Tieni presente che per le app che continuano a registrare più di 50
LSApplicationQueriesSchemes, alcuni schemi verranno
ignorati senza avviso. L'app potrebbe non essere in grado di eseguire determinati deep link,
a seconda dell'ordine in cui vengono aggiunti.
Quali avvisi open source devo includere nella mia app?
Per le piattaforme Apple, l'SDK Firebase è distribuito con la licenza Apache 2.0.