FirebaseCoreDiagnostics 9.6.0

FirebaseCoreDiagnostics 9.6.0

Google 维护。



 
依赖
GoogleDataTransport< 10.0.0, >= 9.1.4
GoogleUtilities/Environment~> 7.7
GoogleUtilities/Logger~> 7.7
nanopb< 2.30910.0, >= 2.30908.0
 

Version License Platform

Firebase Apple 开源开发

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

Firebase 是一个应用程序开发平台,包含帮助您构建、扩展和盈利应用的工具。有关 Firebase 的更多信息,可以在官方 Firebase 网站上找到。

安装

请参阅以下子部分以了解不同安装方法的详细信息。如果可用,建议安装任何以 Swift 为后缀的库,以便在用 Swift 编写应用时获得最佳体验。

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

标准 pod install

转到 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'

要通过已签出的 firebase-ios-sdk 仓库版本访问 FirebaseMessaging,请

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

Carthage(仅限 iOS)

有关实验性 Carthage 分发的说明请参阅 Carthage

从框架或库中使用 Firebase

从框架或库中使用 Firebase

开发

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

  • Xcode 13.3.1(或更高版本)

CocoaPods 仍然是官方的开发方式,但现在该仓库的大部分内容都支持使用 Swift Package Manager 进行开发。

CocoaPods

安装

对于您想要开发的 pod

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

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

注意:设置 --platforms 选项为 macostvos 来开发/测试这些平台。由于 10.2 版本起,Xcode 不正确地处理了多平台 CocoaPods 的工作空间。

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

Catalyst 开发

  • pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
  • 在 App-iOS 构建设置中勾选 Mac 复选框
  • 在设置中的签名和功能选项卡中签名应用
  • 在项目管理器中单击 Pods
  • 将签名添加到 iOS 主应用和单元测试目标
  • 选择 Unit-unit 计划
  • 运行以构建和测试

或者禁用每个目标的签名

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

Swift包管理器

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

添加新的Firebase Pod

请参阅AddNewPod Markdown文件。

管理头文件和导入

请参阅HeadersImports Markdown文件。

代码格式化

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

GitHub Actions将验证所有代码更改是否以符合风格的方式进行。安装clang-formatmint

brew install clang-format@14
brew install mint

运行单元测试

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

运行示例应用

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

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

覆盖率报告生成

查看 scripts/code_coverage_report/README Markdown 文件。

特定组件指令

下面各节中提供了针对这些组件的任何特殊指令。

Firebase 身份验证

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

Firebase 数据库

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

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

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

Firebase 性能监控

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

Firebase 存储

要运行存储集成测试,请遵循FIRStorageIntegrationTests.m中的说明。

推送通知

推送通知只能发送到开发门户中专门设置的 App ID。为了真正测试接收推送通知,您需要

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

iOS 模拟器

iOS 模拟器无法注册远程通知,也无法接收推送通知。要接收推送通知,您必须遵循上述步骤并在真实设备上运行应用。

在苹果平台上使用 Firebase 构建

Firebase 8.9.0 版本正式支持在 macOS、Catalyst 和 tvOS 上进行公测。watchOS 继续由社区支持。感谢社区对多个多平台 PR 的贡献。

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

watchOS

多亏了社区的贡献,许多 Firebase SDK 现在可以在 watchOS 上编译、运行单元测试并运行。参见独立的 Watch App 示例

请注意,Firebase 并非官方支持 watchOS。虽然我们可以使用 GitHub Actions 抓取基本的单元测试问题,但仍可能存在着 SDK 在 watchOS 上无法按预期工作的一些变化。如果你遇到这种情况,请提交一个问题

在控制台中进行应用程序设置时,你可能会到达一个步骤,提示类似“检查应用程序是否已与我们的服务器通信”。这依赖于分析,并在 watchOS 上无法工作。可以忽略该消息并继续,其余的 SDK 仍将按预期工作。

额外的 Crashlytics 注意事项

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

Combine

多亏了社区的贡献,FirebaseCombineSwift 包含了对 Apple Combine 框架的支持。此模块目前正在开发中,且尚未在生产环境中得到支持。更多详情请参见 文档

路线图

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

贡献

有关如何为 Firebase Apple SDK 贡献的信息,请参阅 贡献

许可

本存储库中的内容按 Apache 许可证,版本 2.0 许可。

您对 Firebase 的使用受 Firebase 服务条款 规范。