Saiba mais 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 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.