FirebasePerformance 11.0.0

FirebasePerformance 11.0.0

许可证 Apache-2.0
发布时间最新版本2024年7月

Google维护。



 
依赖
FirebaseCore~> 11.0
FirebaseInstallations~> 11.0
FirebaseRemoteConfig~> 11.0
FirebaseSessions~> 11.0
GoogleDataTransport~> 10.0
GoogleUtilities/Environment~> 8.0
GoogleUtilities/MethodSwizzler~> 8.0
GoogleUtilities/UserDefaults~> 8.0
nanopb~> 3.30910.0
 


Firebase Apple 开源开发

此仓库包含除了 FirebaseAnalytics 之外的所有 Apple 平台 Firebase SDK 源代码。

Firebase 是一个应用程序开发平台,提供帮助您构建、成长和货币化的工具。更多关于 Firebase 的信息可以在 官方 Firebase 网站上找到

安装

下面的小节详细介绍了不同的安装方法。如果可用,建议安装所有带有 Swift 后缀的库,以便在用 Swift 编写应用程序时获得最佳体验。

  1. 标准 pod install
  2. Swift 包管理器
  3. 从 GitHub 仓库安装
  4. 实验性 Carthage

标准的 pod 安装

前往 https://firebase.google.com/docs/ios/setup

Swift 包管理器

有关对 Swift 包管理器 的支持的说明和选项,请参阅 SwiftPackageManager Markdown 文件。

从 GitHub 安装

这些说明可以用于访问其他分支、标签或提交的 Firebase 仓库。

背景

有关覆盖 pod 源位置的分步指导和选项,请参阅 Podfile 语法参考

访问 Firebase 源快照

所有官方版本都在这个仓库中标记,并可以通过 CocoaPods 获取。要访问本地区源快照或未发布分支,请使用以下 Podfile 指令

要通过分支访问 Firestore

pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'
pod 'FirebaseFirestore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'master'

要通过 FirebaseMessaging 访问已签出的 firebase-ios-sdk 仓库版本,请执行以下操作

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

Carthage(仅限 iOS)

关于实验性 Carthage 分发的说明在Carthage中。

从框架或库中使用 Firebase

从框架或库中使用 Firebase

开发

要在此仓库中开发 Firebase 软件,请确保您至少拥有以下软件

  • Xcode 14.1(或更高版本)

CocoaPods 仍然是开发的标准方式,但现在仓库的大部分功能都支持使用 Swift Package Manager 进行开发。

CocoaPods

安装

您要开发的 pod

pod gen Firebase{name here}.podspec --local-sources=./ --auto-open --platforms=ios

注意:如果 CocoaPods 缓存已过期,您可能需要在执行 pod repo update 命令之前先运行 pod gen 命令。

注意:将 --platforms 选项设置为 macostvos 来为这些平台进行开发/测试。从 10.2 开始,Xcode 无法正确处理多平台 CocoaPods Arbeitsbereiche。

Firestore 包含一个独立的 Xcode 项目。请参阅 Firestore/README Markdown 文件。

Catalyst 开发

  • pod gen {名称} .podspec --local-sources=./ --auto-open --platforms=ios
  • 在 App-iOS 构建设置中勾选 Mac 复选框
  • 在设置中签入 App Signing & Capabilities 选项卡
  • 在项目管理器中点击 Pods
  • 为 iOS 主应用和单元测试目标添加签名
  • 选择 Unit-unit 规划
  • 运行它进行构建和测试

或者在每个目标中禁用签名

  • 转到构建设置选项卡
  • 点击 +
  • 选择 添加用户自定义设置
  • 添加 CODE_SIGNING_REQUIRED 设置,其值为 NO

Swift 包管理器

  • 要启用测试方案:./scripts/setup_spm_tests.sh
  • 打开 Package.swift 或在 Finder 中双击 Package.swift
  • Xcode 将打开项目
    • 选择用于构建或测试套件的方案
    • 通过选择运行目的地与方案一起选择目标平台

添加新的 Firebase Pod

请参阅 AddNewPod Markdown 文件。

管理头文件和导入

请参阅 HeadersImports Markdown 文件。

代码格式化

为了确保代码格式的一致性,在创建 pulls request 之前,请运行 ./scripts/check.sh 脚本。

GitHub Actions 将验证任何代码更改是否符合样式规范。安装 clang-formatmint

brew install clang-format@16
brew install mint

运行单元测试

选择一个方案,然后按 Command-u 键来构建组件并运行其单元测试。

运行示例应用

为了运行示例应用和集成测试,您需要一个有效的“GoogleService-Info.plist”文件。Firebase Xcode项目包含没有真实值的占位符plist文件,但可以用真实plist文件替换。要获取自己的“GoogleService-Info.plist”文件

  1. 转到Firebase控制台
  2. 如果没有,创建一个新的Firebase项目
  3. 为每个您想要测试的示例应用,创建一个新的Firebase应用,其包标识符与示例应用的标识符相同(例如,com.google.Database-Example
  4. 下载生成的“GoogleService-Info.plist”并将其添加到Xcode项目中。

代码覆盖报告生成

请参阅“scripts/code_coverage_report/README.md”Markdown文件。

特定组件说明

以下各节中包含了有关这些组件的任何特殊说明。

Firebase身份验证

如果您正在进行特定的Firebase身份验证开发,请参阅身份验证示例README,以获取有关构建和运行FirebaseAuth pod以及各种示例和测试的说明。

Firebase 数据库

可以在本地运行的数据库模拟器或生产实例上运行 Firebase 数据库集成测试。

要对本地模拟器实例运行,在运行集成测试之前,调用 ./scripts/run_database_emulator.sh start

要对生产实例运行,提供一个有效的 GoogleServices-Info.plist 并将其复制到 FirebaseDatabase/Tests/Resources/GoogleService-Info.plist。在测试运行期间,您的安全规则必须设置为 public

Firebase 性能监控

如果您正在进行特定的 Firebase 性能监控开发,请参见 性能 README 了解构建 SDK 的说明,以及 性能 TestApp README 了解如何将性能集成到开发测试 App 的说明。

Firebase 存储服务

要运行存储集成测试,请按照 StorageIntegration.swift 中的说明操作。

推送通知

推送通知仅能发送到开发门户中特别配置的应用程序ID。为了实际测试接收推送通知,您需要

  1. 将示例应用的捆绑标识符更改为您在Apple开发者账户中拥有的标识符,并启用该应用程序ID以发送推送通知。
  2. 您还需要在项目设置 > 云消息 > [您的Firebase应用]中将您的APNs提供者身份验证密钥或证书上传到Firebase控制台
  3. 确保您的iOS设备已添加到您的Apple开发者门户作为测试设备。

模拟器iOS

iOS模拟器无法注册远程通知,因此不会接收到推送通知。要接收推送通知,您必须遵循上述步骤并在物理设备上运行应用。

在Apple平台上构建Firebase

Firebase 8.9.0引入了对macOS、Catalyst和tvOS的官方测试版本支持。watchOS继续由社区支持。感谢社区贡献了多项跨平台的PR。

目前,Firebase的大多数产品在Apple平台上都可用。仍有一些空白,尤其是在watchOS上。有关当前支持矩阵的详细信息,请参阅Firebase文档中的此图表

watchOS

多亏了社区贡献,许多Firebase SDK现在可以在watchOS上编译、运行单元测试并且工作。请在独立手表应用示例中查看。

请注意,Firebase并未官方支持watchOS。虽然我们可以通过GitHub Actions捕捉基本单元测试问题,但可能存在一些更改导致SDK在watchOS上不再按预期工作。如果遇到这种情况,请提交问题

在控制台设置应用时,您可能会遇到提到类似“检查应用是否与我们服务器通信”的步骤。这依赖于分析,且在watchOS上无法工作。 可以安全地忽略此信息并继续,其余的SDKs将按预期工作。

附加Crashlytics说明

  • watchOS支持有限。由于watchOS的限制,无法记录 Mach 异常和信号崩溃。(SwiftUI中的崩溃会生成 Mach 异常,因此也不会被记录)

Combine

多亏了社区的贡献,《FirebaseCombineSwift》包含对Apple的Combine框架的支持。此模块目前正在开发中,目前尚不支持在生产环境中使用。更多详情,请参阅文档

路线图

有关Firebase Apple SDK开源计划方向的更多信息,请参阅路线图

贡献

有关向Firebase Apple SDK贡献的更多信息,请参阅贡献

许可证

本仓库的内容遵循Apache许可证2.0版本

对Firebase的使用受Firebase服务条款管理。