FirebaseAppCheck 11.0.0

FirebaseAppCheck 11.0.0

Google 维护。



 
依赖项
AppCheckCore~> 11.0
FirebaseAppCheckInterop~> 11.0
FirebaseCore~> 11.0
GoogleUtilities/Environment~> 8.0
GoogleUtilities/UserDefaults~> 8.0
 


Firebase Apple Open Source Development

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

Firebase是一个应用开发平台,它提供了帮助您构建、成长和盈利应用的工具。有关Firebase的更多信息,可以访问官方Firebase网站

安装

下文详细介绍了不同的安装方法。当可用时,建议安装任何以 Swift 后缀命名的库,以便在用Swift编写应用程序时获得最佳体验。

  1. 标准的pod安装
  2. Swift Package Manager
  3. 从GitHub仓库安装
  4. 实验性Carthage

标准的pod安装

有关标准的pod安装说明,请访问:https://firebase.google.com/docs/ios/setup

Swift 包管理器

有关 Swift 包管理器 支持的说明,可在 SwiftPackageManager.md 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.md

从框架或库使用 Firebase

有关从框架或库使用 Firebase 的详细信息,请参阅 firebase_in_libraries.md

开发

要在此存储库中开发 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 构建设置中勾选 Mac 复选框
  • 在设置签名的“签名和功能”选项卡中签名 App
  • 在项目管理器中点击 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 文件。

代码格式化

为确保代码格式一致性,在提交pull request (PR) 之前,请运行脚本来进行检查:./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 Markdown 文件。

特定组件说明

查看以下部分以获取有关这些组件的任何特殊说明。

Firebase身份验证

有关Firebase身份验证的特定开发,请参阅身份验证示例README,了解构建和运行Firebase Auth pod的相关说明以及各种示例和测试。

Firebase数据库

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

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

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

Firebase性能监控

关于特定的 Firebase 性能监控开发,请参阅 性能 README 文件 了解构建 SDK 的说明,以及 性能测试 App README 文件 了解将性能集成到开发测试应用的说明。

Firebase 存储服务

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

推送通知

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

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

iOS 模拟器

iOS 模拟器无法注册远程通知且不会接收推送通知。要接收推送通知,请按照上述步骤操作,并在实际设备上运行应用。

在苹果平台上使用 Firebase 进行构建

Firebase 8.9.0 版本引入了对 macOS、Catalyst 和 tvOS 的官方 beta 支持。watchOS 继续得到社区支持。感谢社区贡献了许多多平台 PR。

目前,Firebase 的多数产品在苹果平台上可用。仍有一些差距,尤其是在 watchOS 上。有关当前支持矩阵的详细信息,请参阅 Firebase 文档中的此图表:链接

watchOS

感谢社区的贡献,许多 Firebase SDK 现在可以编译、运行单元测试,并支持在 watchOS 上运行。请查看 独立的 Watch App 示例

请注意,Firebase 并未官方支持 watchOS。虽然我们可以通过 GitHub Actions 捕获基本的单元测试问题,但仍可能存在一些变化,使得 SDK 在 watchOS 上不再按预期工作。如果您遇到此类问题,请提交问题

在控制台进行应用程序设置期间,您可能会遇到一个类似于“检查应用程序是否与我们服务器通信”的步骤。这依赖于 Analytics,在 watchOS 上将无法工作。可以安全地忽略此消息并继续,其余 SDK 将像预期那样工作。

Crashlytics 额外说明

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

组合

感谢社区的贡献,FirebaseCombineSwift 包含了对 Apple Combine 框架的支持。此模块目前正在开发中,尚未适用于生产环境。有关更多详情,请参阅文档.

路线图

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

贡献

有关为 Firebase 苹果 SDK 贡献更多信息,请参阅贡献指南.

许可证

此存储库的内容在Apache License, version 2.0下授权。

您使用 Firebase 受Firebase 服务条款的约束。