firebase-ios-sdk is a free, open source web & product analytics project written in C++ and released under Apache-2.0. It has 6,659 GitHub stars, 1,786 forks and 444 open issues, and was last pushed 9 hours ago. On this registry it ranks #8 of 25 tracked projects in Web & Product Analytics, with 5 head-to-head comparisons available.

What is firebase-ios-sdk?

Firebase Apple Open Source Development is the open-source repository that holds the source code for the Apple platform Firebase libraries, and it is intended for iOS and other Apple platform developers who build apps on the Firebase platform and want to read, build, or vendor that client code directly.

What it is

The repository contains the source for every Apple platform Firebase library except FirebaseAnalytics. The products covered include FirebaseAI, FirebaseAppCheck, FirebaseAppDistribution, FirebaseAuth, FirebaseFirestore, FirebaseFunctions, FirebaseMessaging, FirebaseCrashlytics, FirebaseInAppMessaging, FirebasePerformance, FirebaseDatabase, FirebaseRemoteConfig, and FirebaseStorage. Firebase itself is described as an app development platform with libraries, services, and tools to help developers build, grow, and monetize apps.

The concrete problem it solves is distribution and control of the client side of that platform. Rather than consuming only opaque binaries, a team can point its dependency manager at a specific branch, tag, or commit in this repository and build against a local source snapshot or an unreleased branch. That matters when a project needs a fix that has not shipped yet, needs to audit what the SDK does, or needs to pin to an exact revision for reproducibility. It lives in the Apple dependency-management ecosystem, and the specific mechanisms it replaces are fixed binary-only distribution and being locked to whatever version a package registry currently serves.

Key capabilities

  • Ships FirebaseAuth for authentication, FirebaseFirestore and FirebaseDatabase for data storage and sync, and FirebaseStorage for file storage.
  • Provides FirebaseMessaging for cloud messaging and FirebaseInAppMessaging for in-app messaging, plus FirebaseAppDistribution for distributing builds to testers.
  • Includes FirebaseCrashlytics for crash reporting and FirebasePerformance for performance monitoring.
  • Includes FirebaseRemoteConfig for remote configuration and FirebaseAppCheck for app attestation against abuse.
  • Includes FirebaseAI, whose Gemini Foundation Models framework adapter is available in preview.
  • Tags every official release in the repository, and supports Podfile directives that point a pod at a branch, tag, or commit, using FirebaseFirestore as the documented example.
  • Where available, libraries with a Swift suffix are recommended so Swift app code gets the better experience.

Who uses it and how

  • Apple platform app teams that want Firebase libraries managed by Swift Package Manager rather than only by CocoaPods, since Swift Package Manager is listed as an installation path.
  • Teams that need a patched or unreleased version of a library and therefore install from GitHub at an alternate branch, tag, or commit instead of a released binary.
  • Teams still on CocoaPods that run pod install, who now have to plan a migration because new Firebase Apple SDK versions stop being published to CocoaPods after October 2026.
  • Projects that need to use Firebase from another framework or library rather than from the app target directly, which is a documented installation scenario.
  • Developers writing Swift who install the Swift-suffixed library variants for the best experience.

Getting started

Installation is documented through the Firebase get started documentation for Swift Package Manager, through the Firebase installation options documentation for CocoaPods using pod install, and by installing from GitHub to reach other branches, tags, or commits. Experimental Carthage support and use of Firebase from a framework or library are also documented.

How it compares

The facts provided name no comparable or competing products, so as a directory entry this one stands alone in this registry.

When to use it — and when not to

This repository ships client libraries, not a deployable backend, so anyone expecting to self-host the services behind them will not find that here; the backing services remain the Firebase platform. Teams that depend on CocoaPods should weigh the October 2026 cut-off for new versions and read the migration guide before committing further. Also note that FirebaseAnalytics is not open source, even though its pre-compiled binaries arrive with Swift Package Manager or CocoaPods installs, so the repository is not a complete open-source picture of the platform, and the 444 open issues signal that development is active and imperfect.

project readme (upstream, from github) — read inline


[!WARNING] CocoaPods: New versions of the Firebase Apple SDK will no longer be published to CocoaPods after October 2026. Existing CocoaPods versions will remain available and installations will remain functional. See the migration guide for more information.

[!TIP] Preview Release: Firebase AI Logic's Gemini Foundation Models framework adapter is now available in preview. Get started by visiting the documentation.

Firebase Apple Open Source Development

This repository contains the source code for all Apple platform Firebase libraries except FirebaseAnalytics.

Firebase is an app development platform with libraries, services, and tools to help you build, grow, and monetize your app. Learn more about Firebase at the official Firebase website.

Supported Firebase Products

The following products are open-source and included in this repository:

[!NOTE] Firebase Analytics is not open-source, but its pre-compiled binaries are included when installing Firebase via Swift Package Manager or CocoaPods.

Installation

See the subsections below for details about the different installation methods. Where available, it's recommended to install libraries with a Swift suffix to get the best experience when writing your app in Swift.

Swift Package Manager installation

Find instructions for installing using Swift Package Manager in the Firebase get started documentation.

CocoaPods installation

Find instructions for installing with CocoaPods (pod install) in the Firebase installation options documentation.

Note: To accommodate the read-only announcement from CocoaPods, Firebase will stop publishing new versions to CocoaPods in October 2026. Learn more.

Install from GitHub

You can install from GitHub to access the Firebase repo at other branches, tags, or commits.

Background

For instructions and options about overriding pod source locations, see the Podfile Syntax Reference.

Access Firebase source snapshots

All official releases are tagged in this repo and available via CocoaPods. To access a local source snapshot or unreleased branch, use Podfile directives. Here are some example directives which use FirebaseFirestore as the example library.

To access FirebaseFirestore via a 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'

To access FirebaseFirestore via a checked-out version of the firebase-ios-sdk repo:

pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'
pod 'FirebaseFirestore', :path => '/path/to/firebase-ios-sdk'

Carthage (iOS only)

Find instructions for the experimental Carthage distribution (iOS only) at Carthage.md within this repo.

Use Firebase from a Framework or a library

Find details about using Firebase from a Framework or a library at firebase_in_libraries.md within this repo.

Building with Firebase on Apple platforms

Firebase provides official beta support for macOS, Catalyst, and tvOS. visionOS and watchOS are community supported. Thanks to community contributions for many of the multi-platform PRs.

At this time, most Firebase products are available across Apple platforms. There are still a few gaps, especially on visionOS and watchOS. For details about the current support matrix, see this chart in the Firebase documentation.

visionOS

Where supported, visionOS works as expected with the exception of Firestore via Swift Package Manager where it is required to use the source distribution.

To enable the Firestore source distribution, quit Xcode and open the desired project from the command line with the FIREBASE_SOURCE_FIRESTORE environment variable: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj. To go back to using the binary distribution of Firestore, quit Xcode and open Xcode like normal, without the environment variable.

watchOS

Thanks to contributions from the community, many of Firebase SDKs now compile, run unit tests, and work on watchOS. See the Independent Watch App Sample.

Keep in mind that watchOS is not officially supported by Firebase. While we can catch basic unit test issues with GitHub Actions, there may be some changes where the SDK no longer works as expected on watchOS. If you encounter this, please file an issue.

During app setup in the console, you may get to a step that mentions something like "Checking if the app has communicated with our servers". This relies on FirebaseAnalytics and will not work on watchOS. It's safe to ignore the message and continue, the rest of the SDKs will work as expected.

Additional Crashlytics notes for watchOS

Using Crashlytics with watchOS has limited support. Due to watchOS restrictions, mach exceptions and signal crashes are not recorded. (Crashes in SwiftUI are generated as mach exceptions, so will not be recorded).

Combine

Thanks to contributions from the community, FirebaseCombineSwift contains support for Apple's Combine framework. This module is currently under development and not yet supported for use in production environments. For more details, see the docs within this repo.

Roadmap

See Roadmap for more about the Firebase Apple SDK Open Source plans and directions.

Contributing

For information on how to contribute, set up the development environment, build, or test the SDK, see the Contributing Guide.

License

The contents of this repository are licensed under the Apache License, version 2.0.

Your use of Firebase is governed by the [Terms of Service for Firebase Services](https://firebase.google.com/te

readme truncated — read the full docs on github

Frequently asked questions

Is firebase-ios-sdk free to use?

firebase-ios-sdk is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does firebase-ios-sdk do?

Firebase SDK for Apple App Development

What is firebase-ios-sdk written in?

firebase-ios-sdk is primarily written in C++. Its source is publicly available at https://github.com/firebase/firebase-ios-sdk, and it has 6,659 GitHub stars.