使用 Firebase 开发 Apple 应用时,您可能会遇到不熟悉的概念或 Firebase 特有的概念。本页旨在解答这些问题,或提供可帮助您进一步了解的资源。
如果您对某个主题的疑问未涵盖在本页面中,欢迎随时访问我们的在线社区。我们还会定期在此页面中加入新主题,因此请在需要时回来看看,也许我们添加了您想要了解的主题!
Firebase 库支持(按平台)
下表介绍了哪些 Firebase 库与哪些 Apple 平台兼容。目前,watchOS 仅提供社区支持。如需了解安装说明和已知问题,请参阅 Firebase Apple 平台 SDK GitHub 代码库。
库 | iOS | macOS | Mac Catalyst |
tvOS | watchOS |
---|---|---|---|---|---|
A/B Testing | |||||
Analytics | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Google Analytics(分析),不含广告 ID | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Analytics 设备端转化 | |||||
App Check DeviceCheck 提供程序 | watchOS 9+ | ||||
App Check App Attest 提供程序 | iOS 14+ | macOS 11+ | Catalyst 14+ | tvOS 15+ | watchOS 9+ |
App Check 自定义和调试提供程序 | |||||
App Distribution | |||||
Authentication | 部分 | 部分 | 部分 | 部分 | |
Cloud Firestore | |||||
Cloud Functions | |||||
Cloud Messaging | |||||
Cloud Storage | |||||
Crashlytics | |||||
Dynamic Links | |||||
Firebase 安装 | |||||
Firebase ML 模型下载程序 | |||||
In-App Messaging | |||||
Performance Monitoring | |||||
Realtime Database | |||||
Remote Config |
App Clip
大多数 Firebase 库都可以在 App Clip 目标中正常构建和运行,但不少 Firebase 库都因底层操作系统限制而受限。已知问题包括:
- 如果用户在点按链接时未安装 App Clip,Dynamic Links 就无法将用户引导至该 App Clip。
- 由于底层 CFStream 依赖项的缘故,Firestore 和 Realtime Database 无法在 App Clip 中加载数据。
如需查看已知 App Clip 问题的完整列表,请参阅 Firebase GitHub 代码库。
GoogleService-Info.plist
在将 Firebase 添加到您的 Apple 项目时,您需要将 GoogleService-Info.plist
配置文件添加到您的项目。如果要在单个应用中使用多个 Firebase 项目,请参阅配置多个项目文档。
请参阅 Swift 参考文档,详细了解 Firebase 应用初始化过程。
Swift Package Manager
如需详细了解 Swift Package Manager 集成,请参阅我们的指南。
Swift 扩展程序
Firebase Apple 平台 SDK Swift 扩展程序是现有 Firebase Apple 平台库的小型开源插件,可让您的代码使用 Swift 语言特有的功能。
您可以使用以下 Swift 扩展程序框架:
FirebaseAnalyticsSwift
FirebaseDatabaseSwift
FirebaseFirestoreSwift
FirebaseInAppMessagingSwift
(Beta 版)FirebaseRemoteConfigSwift
从 Firebase 9.0 开始,部分 Firebase 库(包括其 Objective-C 接口)是在 Swift 中实现的,并且提供 Swift 原生功能,而不含辅助依赖项。以下 SDK 提供原生 Swift API,而无需使用扩展 SDK:
FirebaseFunctions
FirebaseStorage
您可以使用 CocoaPods 或 Swift Package Manager 安装 Swift 扩展程序。如需使用 CocoaPods 安装 Swift 扩展程序,请按如下所示将其添加到您的 Podfile 中。
pod 'FirebaseAnalyticsSwift', '~> 10.0'
pod 'FirebaseInAppMessagingSwift', '~> 10.0-beta'
pod 'FirebaseDatabaseSwift'
对于 Swift Package Manager,请直接从 Firebase Apple 平台 SDK 所在的代码库中导入所需的 Swift 扩展程序库。
SwiftUI
Firebase 完全支持 SwiftUI,但为了让其能够在完整的 SwiftUI 环境中正常运行,应采用与 UIKit 应用略微不同的设置。如需了解详情,请参阅 Peter Friese 发布的这篇博文。
由于已知问题,SwiftUI 应用必须停用调配。如需了解详情,请参阅应用委托调配部分。
应用委托调配
Firebase 会在应用的应用委托类中调配一些方法以自动将某些 Firebase 服务连接到操作系统回调函数,例如 FCM 和 APNs 令牌。您可以通过在应用的 Info.plist
文件中添加 FirebaseAppDelegateProxyEnabled
标志并将其设置为 NO
来停用应用中的调配功能。
四款 Firebase 产品使用了应用委托调配功能:Analytics、App Distribution、Authentication 和 FCM。如果您已停用应用中的调配功能,并且使用以下任何产品,请参阅产品专用指南,了解如何在不使用调配功能的情况下使用产品:
支持 iOS 14
iOS 14 针对用户的广告标识符对用户权限进行了更改。如需详细了解您的应用是否会受到影响,请参阅为 iOS 14 做好准备的指南。
持续支持 Objective-C
为了简化 Apple 平台文档的维护,Firebase 决定在我们的指南和其他开发者材料中着重介绍 Swift 代码段和代码示例。自 2024 年 1 月 1 日起,Objective-C 代码段将从我们的指南中移除。我们会继续为所有 Firebase 产品维护最新的 Objective-C 参考文档。
Firebase Apple 平台 SDK 的开源资源
Firebase 倾力支持开源开发,并且我们鼓励社区贡献和反馈。
Firebase Apple 平台 SDK
所有适用于 Apple 平台的 Firebase SDK(Analytics 除外)都是在我们的公开 Firebase GitHub 代码库中以开源库的形式开发的。
FirebaseUI
FirebaseUI 是一套基于 Firebase 构建的实用程序库,其中包括用于 Cloud Firestore 和 Realtime Database 身份验证与数据实用程序的普适性界面流程。如需详细了解 FirebaseUI,请参阅我们的 GitHub 页面。
快速入门示例
Firebase 为 iOS 上的大多数 Firebase API 维护了一系列快速入门示例。您可以在我们的公开 Firebase GitHub 快速入门代码库中找到这些快速入门。
您可以在 Xcode 中打开每个快速入门,然后在移动设备或模拟器上运行。您也可以将这些快速入门用作 Firebase SDK 示例代码。