FirebaseCrashlytics 11.0.0

FirebaseCrashlytics 11.0.0

Google维护。



 
依赖项
FirebaseCore~> 11.0
FirebaseInstallations~> 11.0
FirebaseSessions~> 11.0
FirebaseRemoteConfigInterop~> 11.0
PromisesObjC~> 2.4
GoogleDataTransport~> 10.0
GoogleUtilities/Environment~> 8.0
nanopb~> 3.30910.0
 

  • 作者
  • Google,Inc.


Firebase Apple开源开发

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

Firebase是一个应用程序开发平台,它提供了一系列工具,可以帮助您创建、扩展和盈利您的应用程序。更多关于Firebase的信息,请访问官方Firebase网站

安装

下面的子部分包含了关于不同安装方法的详细信息。如果可用的,建议安装带有 Swift 后缀的任何库,以获得在Swift中编写应用程序时最佳体验。

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

标准pod安装

请访问https://firebase.google.com/docs/ios/setup

Swift 包管理器

有关 Swift 包管理器 的说明和支持信息,可在 SwiftPackageManager Markdown 文件中找到。

从 GitHub 安装

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

背景

请参阅 Podfile 语法参考,了解有关覆盖 pod 源位置的说明和选项。

访问 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 14.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 Build Settings中勾选Mac选项
  • 在Settings Signing & Capabilities标签页中签名App
  • 在Project Manager中点击Pods
  • 将签名添加到iOS主机应用程序和单元测试目标中
  • 选择Unit-unit方案
  • 运行以构建和测试

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

  • 转到Build Settings标签
  • 点击+
  • 选择Add User-Defined Setting
  • 添加具有值NOCODE_SIGNING_REQUIRED设置

Swift Package Manager

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

添加新的Firebase Pod

参阅AddNewPod Markdown文件。

管理头文件和导入

参阅HeadersImports Markdown文件。

代码格式化

为确保代码格式一致,在创建 pull 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 应用,并使用示例应用的 bundle 标识符(例如,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 Storage

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

推送通知

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

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

iOS模拟器

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

在Apple平台上使用Firebase进行构建

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

目前,大部分 Firebase 产品都已覆盖所有苹果平台。但仍有一些空缺,特别是在 watchOS 上。有关当前支持矩阵的详细信息,请参阅 Firebase 文档中的此图表

watchOS

感谢社区贡献,许多 Firebase SDK 现在可以在 watchOS 上编译、运行单元测试和工作。请参阅独立手表应用示例

请注意,watchOS 并非 Firebase 的官方支持。虽然我们可以通过 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 服务条款管辖。