Esta página conta com dicas e soluções de problemas específicos da plataforma Apple que podem ser encontrados ao usar o Firebase.
Você está enfrentando algum outro desafio ou seu problema não está descrito abaixo? Confira as Perguntas frequentes sobre o Firebase para ver mais dúvidas relacionadas ao Firebase ou a um produto específico.
Confira também o repositório do SDK do Firebase para as plataformas Apple no GitHub (em inglês) para ter acesso a uma lista atualizada dos problemas informados e respectivas soluções. Recomendamos que você também registre os seus próprios problemas relacionados ao SDK do Firebase para plataformas Apple no repositório.
Quais versões do Xcode são aceitas pelo Firebase?
O Firebase tem suporte a duas versões principais do Xcode, com exceção daquelas que não recebem mais suporte da Apple. Por exemplo, a partir de março de 2019, a Apple exigiu pelo menos o iOS 12 em todos os apps. Ou seja, o suporte ao Xcode 9 foi descontinuado, e o Xcode 10 foi a única versão principal com suporte.
As mudanças no suporte a versões secundárias ou de patch específicas do Xcode (por exemplo, da 9.2.0 à 9.4.1) são determinadas com base nas necessidades do SDK do Firebase para as plataformas da Apple e também se baseiam em uma pesquisa de uso do desenvolvedor. Essas alterações podem ser vistas nas notas de lançamento do SDK do Firebase para as plataformas Apple e na página de configuração do SDK do Firebase para as plataformas Apple.
Para ver a versão mínima do Xcode aceita pelo SDK, confira os requisitos listados em Adicionar o Firebase ao seu projeto da Apple.
O suporte do Firebase para versões Beta do Xcode está disponível de acordo com o modelo de "melhor esforço". Os desenvolvedores podem acompanhar e enviar problemas no repositório do SDK do Firebase no GitHub para as plataformas da Apple.
Meu app está solicitando a senha do usuário para acessar itens do conjunto de chaves no macOS. Como resolvo esse problema?
Faça upgrade da sua dependência do Firebase para a versão 9.6.0 ou mais recente e adicione o [recurso de compartilhamento de conjunto de chaves](/docs/ios/troubleshooting-faq#macos-keychain-sharing) ao seu destino.
Por que o Firebase exige o recurso de compartilhamento de conjunto de chaves no macOS?
Os SDKs do Firebase usam o conjunto de chaves para armazenar informações como o ID de instalação do Firebase usado para o FCM. Sem o acesso ao conjunto de chaves, os SDKs do Firebase podem não funcionar corretamente. O conjunto de chaves do macOS se comporta de maneira diferente do conjunto de chaves no estilo iOS usado em outras plataformas (iOS, tvOS, macCatalyst e watchOS).
No macOS, um app usa um conjunto de chaves compartilhado que pode ser modificado por outros apps e
processos. Ao contrário do iOS, não há um conjunto de chaves no sandbox ao qual o app tenha
acesso implícito. Portanto, quando um app Mac interage com o conjunto de chaves, o sistema
pede acesso ao usuário, já que o aplicativo está modificando um item do conjunto de chaves
que ele não criou. Para resolver essa discrepância, o Firebase consulta o
conjunto de chaves com a chave kSecUseDataProtectionKeychain
, que instrui
o app a consultar um item do conjunto que faz parte de um grupo de acesso de conjuntos de chaves
(esse é o comportamento padrão em outras plataformas). O recurso de compartilhamento de conjunto de chaves
é necessário porque o app precisa sintetizar um grupo de acesso que pode ser
compartilhado entre os destinos, concedendo permissão para que o app acesse
livremente os itens do conjunto de chaves no grupo de acesso.
Para mais informações, consulte a documentação do conjunto de chaves da Apple.
Nas versões do Xcode a partir da 13, por que meus apps do UIKit não podem abrir
alguns URLs que eu registrei
no Info.plist?
A Apple introduziu um limite de 50 entradas LSApplicationQueriesSchemes
nos arquivos Info.plist
. Em 2015, a Apple introduziu
LSApplicationQueriesSchemes
para limitar o número de consultas de URL
que cada app pode fazer. Com o lançamento do Xcode 13, esses limites foram aplicados,
mas no Xcode 12 e nas versões anteriores não havia um limite para o número de
esquemas.
Alguns produtos do Firebase, como Firebase Authentication e Firebase Dynamic Links, exigem o uso de esquemas de URLs personalizados para redirecionar ao aplicativo. Esses URLs estão em conformidade com um esquema de URL conciso e consistente que não vai ser pesar significativamente no limite de 50 esquemas de links.
Observe que, para apps que continuam registrando mais de 50
LSApplicationQueriesSchemes
, alguns esquemas são
ignorados silenciosamente. O app pode não conseguir executar determinados links diretos
dependendo da ordem em que são adicionados.