Risoluzione dei problemi e Domande frequenti sulle piattaforme Apple e Firebase

Questa pagina offre suggerimenti e indicazioni per la risoluzione dei problemi specifici della piattaforma Apple che potresti riscontrare durante l'utilizzo di Firebase.

Hai altri problemi o non trovi il tuo problema descritto di seguito? Assicurati di consultare le domande frequenti principali su Firebase per altre domande frequenti generali o specifiche per prodotto.

Puoi anche consultare il repository GitHub dell'SDK Firebase per le piattaforme Apple per un elenco aggiornato dei problemi segnalati e della risoluzione dei problemi. Ti invitiamo anche a segnalare i tuoi problemi relativi all'SDK Firebase per le piattaforme Apple.

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 era l'unica versione principale supportata.

Le modifiche al supporto di versioni minori 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 le piattaforme Apple e a un sondaggio sull'utilizzo da parte degli sviluppatori. Queste modifiche si riflettono nelle note di rilascio dell'SDK delle piattaforme Apple di Firebase e nella pagina di configurazione dell'SDK delle piattaforme Apple di Firebase.

Per visualizzare la versione minima di Xcode supportata dall'SDK, controlla i requisiti elencati in Aggiungere Firebase al progetto Apple.

L'assistenza Firebase per le release beta di Xcode è disponibile su una base "best effort". Gli sviluppatori possono monitorare e inviare i problemi nel repository dell'SDK delle piattaforme Apple di Firebase su GitHub.

Esegui l'upgrade della dipendenza da Firebase alla versione 9.6.0 o successiva e aggiungi la [funzionalità di condivisione del Portachiavi](/docs/ios/troubleshooting-faq#macos-keychain-sharing) al tuo target.

Gli SDK Firebase utilizzano il Portachiavi per archiviare informazioni come l'ID 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 di 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 da altri processi. A differenza di iOS, non esiste un portachiavi in 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 query sul portachiavi con la chiave kSecUseDataProtectionKeychain, che indica all'app di eseguire query su un elemento del portachiavi che fa parte di un gruppo di accesso al portachiavi (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 relativi target, concedendo così all'app l'autorizzazione per accedere liberamente agli elementi del portachiavi nel gruppo di accesso.

Per saperne di più, consulta la documentazione di Keychain Access di Apple.

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 sull'URL che ogni app poteva effettuare. Con il rilascio 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 reindirizzare 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 silenziosamente. L'app potrebbe non essere in grado di eseguire determinati link diretti, a seconda dell'ordine in cui vengono aggiunti.