Questa pagina offre suggerimenti e soluzioni per problemi specifici della piattaforma Apple
che potresti incontrare durante l'utilizzo di Firebase.
Hai altre difficoltà o non trovi il tuo problema tra quelli elencati di seguito? Assicurati di controllare
consulta le principali domande frequenti su Firebase per ulteriori informazioni
domande frequenti 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 incoraggiamo
per segnalare anche i problemi relativi all'SDK delle tue piattaforme Firebase Apple.
La mia app richiede 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 successiva e aggiungi il metodo
[Funzionalità di condivisione dei portachiavi](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
al target.
Perché Firebase richiede la funzionalità di condivisione del portachiavi su macOS?
Gli SDK Firebase utilizzano il Portachiavi per memorizzare informazioni come l'ID installazione Firebase utilizzato per FCM. Senza l'accesso al Portachiavi, gli SDK Firebase non possono
funzionino correttamente. Il portachiavi macOS si comporta in modo diverso rispetto allo 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
i processi di machine learning. A differenza di iOS, non esiste un portachiavi in sandbox a cui l'app ha accesso implicito. Quindi, quando un'app per Mac interagisce con il portachiavi, il sistema
richiede l'accesso all'utente perché l'app Mac potrebbe modificare un portachiavi
che non ha creato. Per risolvere questa discrepanza, Firebase esegue una query
con il token kSecUseDataProtectionKeychain
, che indica
l'app per inviare una query a un portachiavi che fa parte di un gruppo di accesso al portachiavi
(comportamento predefinito su altre piattaforme). La funzionalità di condivisione Portachiavi
è obbligatoria perché l'app lo ha bisogno per sintetizzare un gruppo di accesso che può essere
condiviso tra i suoi obiettivi, dando così
l'autorizzazione all'app a
agli elementi del portachiavi nel gruppo di accesso.
Per saperne di più, consulta la
documentazione di Keychain Access di Apple.
In Xcode 13 e versioni successive, perché le app UIKit non possono aprire alcune
Gli 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 ogni app potrebbe realizzare. Con il rilascio di Xcode 13, questi limiti vengono applicati,
mentre in Xcode 12 e in precedenza non esistevano limiti effettivi al numero di
schemi di machine learning.
Alcuni prodotti Firebase, come Firebase Authentication e Firebase Dynamic Links,
richiedono l'utilizzo di schemi URL personalizzati per reindirizzare all'applicazione. Questi
Gli URL sono conformi a uno schema URL conciso e coerente che non deve essere conteggiato
molto rispetto al 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.