Manage Firebase iOS SDK source code and build custom modules
You can manage the code required for login, data storage, and notifications in iOS apps from a single location. This repository houses Firebase's open-source libraries, allowing you to handle or build necessary modules at the source level, from app authentication to databases and crash reporting. Recently, a Gemini-based AI Logic framework adapter was released in preview, opening the path to integrating AI features into apps.
Distribution channel changes and AI feature introduction
The first change to understand is the policy regarding CocoaPods. Previously installed versions will continue to work, but you must consider alternative installation methods to receive new updates. Meanwhile, the Firebase AI Logic Gemini Foundation Models framework adapter has been released in preview, marking the initial stage for applying AI features to apps. These two changes directly impact development environment setup and feature expansion plans.
Included products and installation paths
This repository contains the source code for most Firebase libraries for Apple platforms, excluding Firebase Analytics.
- Supported products Includes AI Logic, App Check, App Distribution, Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Crashlytics, In-App Messaging, Performance Monitoring, Realtime Database, Remote Config, and Storage.
- Analytics exclusion Firebase Analytics is not open source, but a pre-compiled binary is provided when installing Firebase via Swift Package Manager or CocoaPods.
Platform support scope and limitations
Firebase provides official beta support for macOS, Catalyst, and tvOS. visionOS and watchOS are community-supported, with potential gaps in support for some products on these platforms. When using Firestore with Swift Package Manager on visionOS, you must use source distribution, which requires setting the FIREBASE_SOURCE_FIRESTORE environment variable. Since watchOS is not officially supported, the SDK may not function as intended; in such cases, you should register an issue. Additionally, Crashlytics on watchOS cannot record mach exceptions and signal crashes, so SwiftUI crashes are not recorded.
License and usage terms
The content of this repository is licensed under the Apache License, version 2.0. The use of Firebase services is governed by the Firebase Services Terms of Service. The FirebaseCombineSwift module for the Combine framework is under development as a community contribution but does not yet support production environment use. Information regarding development environment setup, building, and testing can be found in the Contributing Guide.