Noções básicas sobre o Firebase em plataformas da Apple

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 visionOS e o watchOS têm somente 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 visionOS watchOS
A/B Testing
Analytics v8.9.0+ v8.9.0+ v8.9.0+
Analytics sem ID do anúncio v8.9.0+ v8.9.0+ v8.9.0+
Analytics conversão no dispositivo
App Check Provedor do DeviceCheck watchOS 9+
App Check Provedor do App Attest 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 parcial
Cloud Firestore Somente distros de origem
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Dynamic Links
Instalações Firebase
Transferência de modelos do Firebase ML
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase iOS 15+ macOS 12+ Catalyst 15+ tvOS 15+ (somente suporte da comunidade) watchOS 8+

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 eram 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. Desde então, essas APIs foram adicionadas diretamente às bibliotecas principais e não precisam ser incluídas separadamente. Se você já tinha um SDK de extensão do Swift na sua base de código, consulte o guia de migração para instruções de upgrade.

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.