获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

详细了解 Apple 平台上的 Firebase

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

当您使用 Firebase 开发 Apple 应用程序时,您可能会发现一些不熟悉或特定于 Firebase 的概念。此页面旨在回答这些问题或为您提供资源以了解更多信息。

如果您对本页未涵盖的主题有疑问,请随时访问我们的在线社区之一。我们还会定期使用新主题更新此页面,因此请回来查看我们是否添加了您想了解的主题!

按平台划分的 Firebase 库支持

下表描述了哪些 Firebase 库与哪些 Apple 平台兼容。目前,watchOS 仅受社区支持。有关安装说明和已知问题,请参阅Firebase Apple 平台 SDK GitHub 存储库

图书馆iOS苹果系统苹果电脑
催化剂
电视操作系统watchOS
A/B 测试
分析v8.9.0+ v8.9.0+ v8.9.0+
没有广告 ID 的分析v8.9.0+ v8.9.0+ v8.9.0+
分析设备上的转换
App Check DeviceCheck 供应商watchOS 9+
App Check App Attest提供商iOS 14+ macOS 11+催化剂 14+ tvOS 15+ watchOS 9+
App Check 自定义和调试提供程序
应用分发
验证
云端 Firestore
云端功能
云消息
云储存
崩溃分析
动态链接
Firebase 安装
Firebase ML 模型下载器
应用内消息
性能监控
实时数据库
远程配置

应用剪辑

大多数 Firebase 库将在 App Clip 目标中构建和运行,但是,许多库由于底层操作系统限制而受到限制。已知问题包括:

  • 如果用户在未安装应用程序的情况下点击链接,则动态链接无法将用户发送到 App Clip。
  • 由于底层 CFStream 依赖性,Firestore 和实时数据库无法在 App Clips 中加载数据。

有关已知 App Clip 问题的完整列表,请参阅Firebase GitHub 存储库

GoogleService-Info.plist

作为将 Firebase 添加到您的 Apple 项目的一部分,您需要将GoogleService-Info.plist配置文件添加到您的项目。如果您想在单个应用程序中使用多个 Firebase 项目,请访问配置多个项目的文档。

请参阅Swift 参考文档以更详细地了解 Firebase 应用程序初始化过程。

斯威夫特包管理器

我们的指南中了解有关 Swift Package Manager 集成的更多信息。

斯威夫特扩展

Firebase Apple 平台 SDK Swift 扩展是现有 Firebase Apple 平台库的小型开源插件,可让您的代码使用 Swift 语言特定的功能。

以下 Swift 扩展框架可用:

  • FirebaseAnalyticsSwift
  • FirebaseDatabaseSwift
  • FirebaseFirestoreSwift
  • FirebaseInAppMessagingSwift (测试版)
  • 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 扩展库。

斯威夫特用户界面

Firebase 完全支持 SwiftUI,尽管设置会与 UIKit 应用程序略有不同,以便 Firebase 在完全 SwiftUI 环境中正常运行。查看 Peter Friese 的这篇文了解更多详情。

由于已知问题,SwiftUI 应用程序必须禁用 swizzling。有关更多详细信息,请参阅应用委托调配部分。

应用委托调配

Firebase 在您的应用程序的应用程序委托类中调配一些方法,以自动将某些 Firebase 服务连接到操作系统回调,例如 FCM 和 APNs 令牌。您可以通过在应用程序的Info.plist文件中添加标志FirebaseAppDelegateProxyEnabled并将其设置为NO来禁用应用程序中的调配。

四种 Firebase 产品使用 App Delegate 调配:Analytics、App Distribution、Authentication 和 FCM。如果您在应用程序中禁用了 Swizzling 并使用了以下任何产品,请参阅特定于产品的指南以了解如何在不使用 Swizzling 的情况下使用该产品:

支持iOS 14

iOS 14 包括对围绕用户广告标识符的用户权限的新更改。有关您的应用程序是否会受到影响的更多详细信息,请参阅准备 iOS 14 指南

Firebase Apple 平台 SDK 的开源资源

Firebase 支持开源开发,我们鼓励社区贡献和反馈。

Firebase Apple 平台 SDK

除 Analytics 外,所有适用于 Apple 平台的 Firebase SDK 都作为开源库在我们的公共Firebase GitHub 存储库中开发。

Firebase用户界面

FirebaseUI 是一组基于 Firebase 构建的实用程序库,包括用于身份验证的嵌入式 UI 流以及用于 Cloud Firestore 和实时数据库的数据实用程序。在我们的GitHub 页面上查看有关 FirebaseUI 的更多详细信息。

快速入门示例

Firebase 为 iOS 上的大多数 Firebase API 维护了一组快速入门示例。在我们的公共 Firebase GitHub快速入门存储库中找到这些快速入门。

您可以在 Xcode 中打开每个快速入门,然后在移动设备或模拟器上运行它们。或者,您可以将这些快速入门用作使用 Firebase SDK 的示例代码。