FirebaseCoreInternal 11.0.0

FirebaseCoreInternal 11.0.0

Google 维护。




Firebase Apple 开源开发

此存储库包含除 FirebaseAnalytics 外所有用于 Apple 平台 Firebase SDK 的源代码。

Firebase 是一个应用程序开发平台,具有帮助您构建、增长和盈利应用程序的工具。有关 Firebase 的更多信息,请参阅 官方 Firebase 网站

安装

请查看下文中的副标题以了解有关不同安装方法的详细信息。如果可用,建议安装任何以 Swift 结尾的库,以便在用 Swift 编写应用程序时获得最佳体验。

  1. 标准 pod 安装
  2. Swift 包管理器
  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'

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

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

请安装以下软件:

对于您想要开发的pods:

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
  • 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应用,具有示例应用的bundle标识符(例如,com.google.Database-Example)。
  4. 下载生成的GoogleService-Info.plist并将其添加到Xcode项目。

覆盖率报告生成

关于覆盖率报告生成的说明,请参阅scripts/code_coverage_report/README Markdown文件。

特定组件说明

请参见下文各节,了解这些组件的特殊说明。

Firebase认证

对于特定的Firebase认证开发,请参考Auth示例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,了解如何集成性能到开发测试应用的相关说明。

Firbase 存储服务

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

推送通知

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

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

iOS 模拟器

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

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

watchOS

额外的崩溃率学笔记

Combine

路线图

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

贡献

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

许可证

本存储库内容遵循Apache许可证第2.0版

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