firebase-ios-sdk README

The project's README from github.com/firebase/firebase-ios-sdk. As one markdown file: README.md.


[!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.

firebase-ios-sdk (firebase/firebase-ios-sdk)

Searching Database…

这是什么?这是面向 Apple 平台的 Firebase SDK 官方合集,涵盖 Authentication、Firestore、Cloud Functions、Messaging、Crashlytics、Storage 等库。
这是一个单独的库,还是许多库的集合?它是一个 monorepo,打包了许多独立的 Firebase 库(Auth、Firestore、Functions、Messaging、Crashlytics、Storage 等),你可以将它们逐一添加到自己的应用中。
怎么把它添加到我的应用里?按照 Firebase 入门(get started)文档通过 Swift Package Manager 安装(推荐方式),或通过 CocoaPods 执行 pod install;也可以直接从 GitHub 拉取特定的分支、标签或提交。
需要先准备好 Xcode 和 Firebase 项目吗?需要,你需要一个 Xcode 项目和一个配置好的 Firebase 项目/控制台;库的拉取则通过 CocoaPods 或 Swift Package Manager 完成。
CocoaPods 还是长期安全的选择吗?不是,CocoaPods 的发布将于 2026 年 10 月停止;现有的 CocoaPods 版本仍可继续使用,但你应该计划迁移到 Swift Package Manager。
它也能在 macOS 和 tvOS 上用,还是只支持 iOS?Firebase 对 macOS、Catalyst 和 tvOS 提供官方 beta 支持,而 visionOS 和 watchOS 仅由社区支持且存在一些缺口,FirebaseAnalytics 本身则是闭源的。
watchOS 能完整支持 Crashlytics 吗?不能,watchOS 上的 Crashlytics 支持有限,因为 watchOS 的限制导致无法记录 mach 异常和信号崩溃,包括 SwiftUI 崩溃。
顶部提到的 Firebase AI Logic 是什么?它是一个处于预览阶段的 Gemini Foundation Models 框架适配器,属于本仓库中较新的 FirebaseAI 产品的一部分。
我能用 Firestore 未发布的分支代替正式版本吗?可以,你可以通过 Podfile 指令从 GitHub 安装,从特定的分支、标签、提交或仓库的本地检出中拉取 FirebaseFirestore。
对 Combine 的支持能用于生产环境吗?不能,由社区贡献的 FirebaseCombineSwift 模块仍在开发中,尚不支持在生产环境中使用。
Creator
firebase
Size
82.9 MB
Stars
7K
Age
9y
Commits · 90 Days