Risoluzione dei problemi e Domande frequenti sulle piattaforme Apple e Firebase
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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 consultare le domande frequenti principali di Firebase per altre domande frequenti su Firebase 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 a segnalare anche lì i problemi relativi all'SDK Firebase per le piattaforme Apple.
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 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 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
è necessaria perché l'app deve sintetizzare un gruppo di accesso che può essere
condiviso tra i suoi target, concedendo così l'autorizzazione all'app di accedere liberamente
agli elementi del portachiavi nel gruppo di accesso.
Per saperne di più, consulta la
documentazione di Keychain
di Apple.
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 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 il reindirizzamento alla tua applicazione. Questi
URL rispettano uno schema di URL conciso e coerente che non dovrebbe influire
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 automaticamente. L'app potrebbe non essere in grado di eseguire determinati link diretti,
a seconda dell'ordine in cui vengono aggiunti.