Este repositório contém o código-fonte de todos os SDKs do Firebase da plataforma Apple, exceto FirebaseAnalytics.
Firebase é uma plataforma de desenvolvimento de aplicativos com ferramentas para ajudar você a criar, desenvolver e monetizar seu aplicativo. Mais informações sobre o Firebase podem ser encontradas no site oficial do Firebase.
Consulte as subseções abaixo para obter detalhes sobre os diferentes métodos de instalação. Quando disponível, é recomendado instalar qualquer biblioteca com sufixo Swift
para obter a melhor experiência ao escrever seu aplicativo em Swift.
Instalação de pod padrão
Gerenciador de pacotes Swift
Instalando a partir do repositório GitHub
Cartago Experimental
Para obter instruções sobre a instalação padrão do pod, visite: https://firebase.google.com/docs/ios/setup.
Instruções para suporte ao Swift Package Manager podem ser encontradas no arquivo SwiftPackageManager.md Markdown.
Essas instruções podem ser usadas para acessar o repositório do Firebase em outras ramificações, tags ou commits.
Consulte a Referência de sintaxe do Podfile para obter instruções e opções sobre como substituir locais de origem do pod.
Todos os lançamentos oficiais estão marcados neste repositório e disponíveis via CocoaPods. Para acessar um snapshot de origem local ou uma ramificação não lançada, use diretivas Podfile como as seguintes:
Para acessar o FirebaseFirestore por meio de um branch:
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
Para acessar o FirebaseMessaging por meio de uma versão com check-out do repositório firebase-ios-sdk:
pod 'FirebaseCore', :path => '/caminho/para/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/caminho/para/firebase-ios-sdk'
Instruções para a distribuição experimental de Cartago podem ser encontradas em Carthage.md.
Para obter detalhes sobre como usar o Firebase em um Framework ou biblioteca, consulte firebase_in_libraries.md.
Para desenvolver software Firebase neste repositório, certifique-se de ter pelo menos o seguinte software:
Xcode 15.2 (ou posterior)
CocoaPods ainda é a forma canônica de desenvolvimento, mas grande parte do repositório agora oferece suporte ao desenvolvimento com Swift Package Manager.
Instale o seguinte:
CocoaPods 1.12.0 (ou posterior)
Geração de CocoaPods
Para o pod que você deseja desenvolver:
pod gen Firebase{nome aqui}.podspec --local-sources=./ --auto-open --platforms=ios
Nota: Se o cache do CocoaPods estiver desatualizado, pode ser necessário executar pod repo update
antes do comando pod gen
.
Nota: Defina a opção --platforms
como macos
ou tvos
para desenvolver/testar para essas plataformas. Desde a versão 10.2, o Xcode não lida adequadamente com espaços de trabalho CocoaPods multiplataforma.
Firestore tem um projeto Xcode independente. Consulte o arquivo Markdown do Firestore/README.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
Marque a caixa Mac nas configurações de compilação do App-iOS
Assine o aplicativo na guia Configurações, assinatura e recursos
Clique em Pods no Gerenciador de Projetos
Adicionar assinatura ao aplicativo host iOS e aos destinos de teste de unidade
Selecione o esquema Unidade-unidade
Execute-o para construir e testar
Como alternativa, desative o login em cada destino:
Vá para a guia Configurações de compilação
Clique em +
Selecione Add User-Defined Setting
Adicione a configuração CODE_SIGNING_REQUIRED
com um valor NO
Para ativar esquemas de teste: ./scripts/setup_spm_tests.sh
open Package.swift
ou clique duas vezes em Package.swift
no Finder.
Xcode abrirá o projeto
Escolha um esquema para construir uma biblioteca ou executar um conjunto de testes
Escolha uma plataforma de destino selecionando o destino da execução junto com o esquema
Consulte o arquivo AddNewPod Markdown para obter detalhes.
Para obter informações sobre como gerenciar cabeçalhos e importações, consulte Arquivo HeadersImports Markdown.
Para garantir que o código seja formatado de forma consistente, execute o script ./scripts/check.sh antes de criar uma solicitação pull (PR).
GitHub Actions verificará se todas as alterações de código foram feitas de maneira compatível com o estilo. Instale clang-format
e mint
:
brew install clang-format@19brew install mint
Selecione um esquema e pressione Command-u para construir um componente e executar seus testes de unidade.
Para executar os aplicativos de amostra e os testes de integração, você precisará de um arquivo GoogleService-Info.plist
válido. O projeto Firebase Xcode contém arquivos plist fictícios sem valores reais, mas podem ser substituídos por arquivos plist reais. Para obter seus próprios arquivos GoogleService-Info.plist
:
Acesse o console do Firebase
Crie um novo projeto do Firebase, se ainda não tiver um
Para cada aplicativo de amostra que você deseja testar, crie um novo aplicativo do Firebase com o identificador de pacote do aplicativo de amostra (por exemplo, com.google.Database-Example
).
Baixe o GoogleService-Info.plist
resultante e adicione-o ao projeto Xcode.
Para obter instruções de geração de relatório de cobertura, consulte scripts/code_coverage_report/README Markdown file.
Consulte as seções abaixo para obter instruções especiais para esses componentes.
Para desenvolvimento específico do Firebase Auth, consulte o README de exemplo de autenticação para obter instruções sobre como criar e executar o pod FirebaseAuth junto com vários exemplos e testes.
Os testes de integração do banco de dados do Firebase podem ser executados em um emulador de banco de dados em execução local ou em uma instância de produção.
Para executar em uma instância de emulador local, invoque ./scripts/run_database_emulator.sh start
antes de executar o teste de integração.
Para executar em uma instância de produção, forneça um GoogleServices-Info.plist
válido e copie-o para FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
. Sua regra de segurança deve ser definida como pública enquanto seus testes estão em execução.
O Firebase Dynamic Links está obsoleto e não deve ser usado em novos projetos. O serviço será encerrado em 25 de agosto de 2025.
Consulte nossa documentação de perguntas frequentes sobre suspensão de uso de links dinâmicos para obter mais orientações.
Para desenvolvimento específico do Firebase Performance Monitoring, consulte o README de desempenho para obter instruções sobre como criar o SDK e o README de Performance TestApp para obter instruções sobre a integração de desempenho com o aplicativo de teste de desenvolvimento.
Para executar os testes de integração de armazenamento, siga as instruções em StorageIntegration.swift.
As notificações push só podem ser entregues para App IDs especialmente provisionados no portal do desenvolvedor. Para testar o recebimento de notificações push, você precisará:
Altere o identificador do pacote do aplicativo de amostra para algo que você possui em sua conta de desenvolvedor Apple e habilite esse ID do aplicativo para notificações push.
Você também precisará fazer upload de sua chave de autenticação do provedor de APNs ou certificado para o Firebase Console em Project Settings > Cloud Messaging > [Your Firebase App] .
Certifique-se de que seu dispositivo iOS seja adicionado ao portal do desenvolvedor Apple como um dispositivo de teste.
O Simulador iOS não pode se registrar para notificações remotas e não receberá notificações push. Para receber notificações push, siga as etapas acima e execute o aplicativo em um dispositivo físico.
Consulte o README do Vertex AI para Firebase para obter instruções sobre como criar e testar o SDK.
O Firebase fornece suporte beta oficial para macOS, Catalyst e tvOS. visionOS e watchOS são suportados pela comunidade. Obrigado às contribuições da comunidade para muitos dos PRs multiplataforma.
No momento, a maioria dos produtos do Firebase está disponível nas plataformas Apple. Ainda existem algumas lacunas, especialmente no visionOS e no watchOS. Para obter detalhes sobre a matriz de suporte atual, consulte este gráfico na documentação do Firebase.
Quando compatível, o visionOS funciona conforme o esperado, com exceção do Firestore por meio do Swift Package Manager, onde é necessário usar a distribuição de origem.
Para ativar a distribuição de origem do Firestore, saia do Xcode e abra o projeto desejado na linha de comando com a variável de ambiente FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
. Para voltar a usar a distribuição binária do Firestore, saia do Xcode e abra o Xcode normalmente, sem a variável de ambiente.
Graças às contribuições da comunidade, muitos SDKs do Firebase agora compilam, executam testes de unidade e funcionam no watchOS. Veja o exemplo do aplicativo Independent Watch.
Lembre-se de que watchOS não é oficialmente compatível com Firebase. Embora possamos detectar problemas básicos de teste de unidade com GitHub Actions, pode haver algumas mudanças em que o SDK não funciona mais conforme esperado no watchOS. Se você encontrar isso, registre um problema.
Durante a configuração do aplicativo no console, você pode chegar a uma etapa que menciona algo como "Verificar se o aplicativo se comunicou com nossos servidores". Isso depende do Analytics e não funciona no watchOS. É seguro ignorar a mensagem e continuar , o restante dos SDKs funcionará conforme o esperado.
watchOS tem suporte limitado. Devido às restrições do watchOS, exceções de mach e falhas de sinal não são registradas. (Falhas no SwiftUI são geradas como exceções mach, portanto não serão registradas)
Graças às contribuições da comunidade, FirebaseCombineSwift contém suporte para a estrutura Combine da Apple. Este módulo está atualmente em desenvolvimento e ainda não tem suporte para uso em ambientes de produção. Para obter mais detalhes, consulte os documentos.
Consulte o Roteiro para saber mais sobre os planos e instruções de código aberto do Firebase Apple SDK.
Consulte Contribuindo para obter mais informações sobre como contribuir com o Firebase Apple SDK.
O conteúdo deste repositório está licenciado sob a Licença Apache, versão 2.0.
O uso do Firebase é regido pelos Termos de Serviço dos Serviços do Firebase.