Ao desenvolver o seu app da Apple usando o Firebase, você pode descobrir conceitos desconhecidos ou específicos do Firebase. O objetivo desta página é responder essas perguntas ou indicar a você recursos para saber mais.
Se você tiver perguntas sobre um tópico não abordado nesta página, acesse uma das nossas comunidades on-line. Também vamos atualizar esta página com novos tópicos periodicamente, então volte sempre para conferir se adicionamos um tópico do seu interesse.
Suporte da biblioteca do Firebase por plataforma
A tabela a seguir descreve quais bibliotecas do Firebase são compatíveis com quais plataformas da Apple. Por enquanto, o watchOS só tem o suporte da comunidade. Confira o repositório do SDK do Firebase para as plataformas da Apple no GitHub (em inglês) e veja instruções de instalação e problemas conhecidos.
Biblioteca | iOS | macOS | Mac Catalyst |
tvOS | watchOS |
---|---|---|---|---|---|
Teste A/B | |||||
Analytics | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Analytics sem o ID do anúncio | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Conversão do Analytics no dispositivo | |||||
Provedor DeviceCheck do App Check | watchOS 9+ | ||||
Provedor do App Attest do App Check | iOS 14+ | macOS 11+ | Catalyst 14+ | tvOS 15+ | watchOS 9+ |
Provedores personalizados e de depuração do App Check | |||||
App Distribution | |||||
Authentication | parcial | parcial | parcial | parcial | |
Cloud Firestore | |||||
Cloud Functions | |||||
Cloud Messaging | |||||
Cloud Storage | |||||
Crashlytics | |||||
Dynamic Links | |||||
Instalações do Firebase | |||||
Download do modelo do Firebase ML | |||||
Mensagens no app | |||||
Monitoramento de desempenho | |||||
Realtime Database | |||||
Configuração remota |
Clipes de app
A maioria das bibliotecas do Firebase pode criar e executar em um Clipe de app de destino, mas muitas são restritas como resultado de restrições subjacentes do SO. Problemas conhecidos:
- O Dynamic Links não pode enviar os usuários a um Clipe de app se eles tocarem em um link sem o app instalado.
- O Firestore e o Realtime Database não carregam dados nos Clipes de app devido a uma dependência do CFStream subjacente.
Consulte o repositório do Firebase no GitHub para ver uma lista completa de problemas conhecidos de Clipes de app.
GoogleService-Info.plist
Como parte da adição do Firebase ao seu projeto Apple, você precisa adicionar o
arquivo de configuração GoogleService-Info.plist
ao seu projeto. Para configurar
vários projetos do Firebase em um único app, acesse este link.
Consulte a documentação de referência do Swift para saber mais detalhes sobre o processo de inicialização do app Firebase.
Gerenciador de pacotes do Swift
Para saber mais sobre a integração do Gerenciador de pacotes do Swift, acesse nosso guia.
Extensões Swift
As extensões Swift do SDK do Firebase para a plataforma Apple são complementos pequenos e de código aberto para as bibliotecas da plataforma Apple no Firebase que permitem que seu código use recursos específicos da linguagem Swift.
Os seguintes frameworks de extensão do Swift estão disponíveis:
FirebaseAnalyticsSwift
FirebaseDatabaseSwift
FirebaseFirestoreSwift
FirebaseInAppMessagingSwift
(Beta)FirebaseRemoteConfigSwift
A partir do Firebase 9.0, algumas bibliotecas, incluindo as interfaces do Objective-C, são implementadas no Swift e fornecem recursos nativos dele sem a inclusão de uma dependência auxiliar. Os seguintes SDKs oferecem APIs nativas do Swift sem o uso de um SDK de extensão:
FirebaseFunctions
FirebaseStorage
Você pode instalar as extensões do Swift com o CocoaPods ou com o Gerenciador de pacotes do Swift. Para instalar uma extensão do Swift usando o CocoaPods, inclua a extensão no seu Podfile, conforme mostrado abaixo.
pod 'FirebaseAnalyticsSwift', '~> 10.0'
pod 'FirebaseInAppMessagingSwift', '~> 10.0-beta'
pod 'FirebaseDatabaseSwift'
Para fazer isso usando o Gerenciador de pacotes do Swift, importe as bibliotecas de extensão do Swift que estão no mesmo repositório que o SDK do Firebase para plataformas da Apple.
SwiftUI
O Firebase é totalmente compatível com a SwiftUI. No entanto, a configuração será um pouco diferente dos apps do UIKit para que o Firebase funcione corretamente em um ambiente criado totalmente na plataforma. Confira esta postagem do blog (em inglês) de Peter Friese para mais detalhes.
Os aplicativos da SwiftUI precisam desativar o swizzling devido a um problema conhecido. Consulte a seção swizzling do delegado do app para mais detalhes.
Swizzling do delegado do app
O Firebase faz o swizzling de alguns métodos na classe do delegado do app para
conectar automaticamente determinados serviços do Firebase a retornos de chamada do SO, como o
FCM e o token de APNs. Você pode desativar o swizzling no seu app
adicionando a sinalização FirebaseAppDelegateProxyEnabled
ao arquivo Info.plist
do app e a definindo como NO
.
Quatro produtos do Firebase usam o swizzling do delegado do app: Analytics, App Distribution, Authentication e FCM. Se você desativou o swizzling no aplicativo e usa qualquer um dos produtos a seguir, consulte o guia específico do produto para saber como usar o produto sem swizzling:
Suporte ao iOS 14
O iOS 14 inclui novas mudanças nas permissões do usuário relacionadas ao identificador de publicidade do usuário. Consulte o guia de preparação para iOS 14 para saber se o app pode ser afetado ou não.
Suporte contínuo para Objective-C
Para facilitar a manutenção da documentação das nossas plataformas da Apple, o Firebase decidiu se concentrar em snippets do Swift e amostras de código nos nossos guias e em outros materiais do desenvolvedor. Os snippets do Objective-C serão removidos dos nossos guias a partir de 1º de janeiro de 2024. Vamos manter a documentação de referência atualizada do Objective-C para todos os produtos do Firebase.
Recursos de código aberto para SDKs do Firebase para a plataforma Apple
O Firebase é compatível com o desenvolvimento de código aberto. Por isso, incentivamos contribuições e feedback da comunidade.
SDKs do Firebase para a plataforma Apple
Todos os SDKs do Firebase para as plataformas da Apple, exceto o Analytics, são desenvolvidos como bibliotecas de código aberto no repositório público do Firebase no GitHub (em inglês).
FirebaseUI
A FirebaseUI é um conjunto de bibliotecas de utilitários criadas no Firebase, incluindo um fluxo de IU simples para autenticação e utilitários de dados do Cloud Firestore e do Realtime Database. Saiba mais sobre a FirebaseUI na nossa página do GitHub.
Amostras introdutórias
O Firebase mantém uma coleção de amostrar introdutórias para a maioria das APIs do Firebase no iOS. Encontre estes guias no nosso repositório público do guia de início rápido do Firebase no GitHub.
É possível abrir cada guia de início rápido no Xcode e executá-los em um dispositivo móvel ou simulador. Ou utilizar estes guias de início rápido como código de exemplo para usar os SDKs do Firebase.