FirebaseInstanceID 7.11.0

FirebaseInstanceID 7.11.0

许可证 Apache-2.0
发布最新发布2021年4月

Google维护。



 
依赖关系
FirebaseCore~> 7.0
FirebaseInstallations~> 7.0
GoogleUtilities/UserDefaults~> 7.0
GoogleUtilities/Environment~> 7.0
 

Version License Platform

Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Actions Status Travis

Firebase Apple开源开发

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

Firebase是一个应用开发平台,它提供了帮助您构建、增长并货币化应用的工具。更多关于Firebase的信息可以在https://firebase.google.com上找到。

仓库还包括GoogleUtilities和GoogleDataTransport的源代码,这些是Firebase和其他Google产品所使用的实用工具。

安装

以下小节详细介绍了不同的安装方法。

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

标准pod安装

访问https://firebase.google.com/docs/ios/setup。如果您有搭载Apple硅芯片的新Mac电脑,请参阅以下说明

Swift 包管理器(Beta)

有关支持 Swift 包管理器(Beta)的说明,请查阅 Swift 包管理器 的文档,或在 SwiftPackageManager.md 中找到。

从 GitHub 安装

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

背景

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

访问 Firebase 源快照

所有官方版本都标记在此存储库中,并通过 CocoaPods 提供。要访问本地源快照或尚未发布的分支,请使用如下 Podfile 指令

要通过分支访问 FirebaseFirestore

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。如果您有一台配备 Apple Silicon 芯片的全新 Mac,请查看这些说明 这些说明

从框架或库中使用Firebase

从框架或库中使用Firebase

开发

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

  • Xcode 12.0(或更高版本)

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

CocoaPods

安装

对于您想要开发的pods

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

注意:如果CocoaPods缓存已过时,您可能需要在执行命令之前运行

注意:将--platforms选项设置为macostvos以开发/测试这些平台。自10.2以来,Xcode无法正确处理多平台CocoaPods工作空间。

Firestore有一个自包含的Xcode项目。请参阅

Firestore/README.md

为Catalyst开发

  • pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
  • 在App-iOS构建设置中选中Mac框
  • 在设置签名和功能选项卡中为应用签名
  • 在项目管理者中点击Pods
  • 为iOS主机应用和单元测试目标添加签名
  • 选择单元单元方案
  • 运行它来构建和测试

或者禁用每个目标的签名

  • 转到构建设置选项卡
  • 点击+
  • 选择添加用户定义设置
  • 添加具有CODE_SIGNING_REQUIRED设置的NO

Swift 包管理器

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

添加新的 Firebase Pod

参见 AddNewPod.md

管理头文件和导入

参见 HeadersImports.md

代码格式化

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

GitHub Actions 将验证任何代码更改都符合规定风格。安装 clang-formatmint

brew install clang-format@11
brew install mint

运行单元测试

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

运行示例应用

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

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

覆盖率报告生成

参见scripts/code_coverage_report/README.md

特定组件说明

关于这些组件的任何特殊说明,请参阅下面的章节。

Firebase身份验证

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

Firebase数据库

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

要针对本地仿真器实例运行,在运行集成测试之前,请执行 ./scripts/run_database_emulator.sh start 命令。

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

萤火虫性能监控

如果您正在开发特定的萤火虫性能监控系统,请参阅 性能 README,了解如何构建 SDK,以及如何将性能集成到开发测试应用程序的 性能 TestApp README

萤火虫存储

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

推送通知

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

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

iOS仿真器

iOS仿真器无法注册远程通知,且不会接收推送通知。为了接收推送通知,您必须按照上述步骤操作,并在实际设备上运行应用程序。

社区支持的努力

我们看到了许多人对于改进Firebase SDKs的极大兴趣和贡献,我们非常感激!我们希望能够让尽可能多的开发者能够使用Firebase并参与Firebase社区。

tvOS, macOS, watchOS和Catalyst

多亏了社区的贡献,许多Firebase SDK现在可以在tvOS、macOS、watchOS和Catalyst上编译、运行单元测试并工作。

对于tvOS,请参阅示例。对于watchOS,目前只有Messaging、Storage和Crashlytics(及其依赖项)有有限的支持。请参阅独立手表应用示例

请注意,macOS、tvOS、watchOS和Catalyst不是Firebase的官方支持项目,此仓库主要针对iOS进行积极开发。虽然我们可以通过GitHub Actions捕获基本的单元测试问题,但仍可能有一些更改,导致SDK在macOS、tvOS或watchOS上不再按预期工作。如果你遇到这种情况,请提交问题

在控制台中设置应用时,你可能到达一个提及类似“检查应用是否已与我们的服务器通信”的步骤。这依赖于Analytics,在macOS/tvOS/watchOS/Catalyst上无法工作。请忽略该消息并继续,其他SDK将按预期工作。

为了安装,将以下子集添加到Podfile

pod 'Firebase/ABTesting'
pod 'Firebase/Auth'          # Limited watchOS support
pod 'Firebase/Crashlytics'
pod 'Firebase/Database'      # No watchOS support yet
pod 'Firebase/Firestore'     # No watchOS support yet
pod 'Firebase/Functions'     # No watchOS support yet
pod 'Firebase/Messaging'
pod 'Firebase/Performance'   # No macOS, tvOS, watchOS, and Catalyst support yet
pod 'Firebase/RemoteConfig'
pod 'Firebase/Storage'

关于Catalyst的附加说明

  • FirebaseAuth和FirebaseMessaging需要将构建设置中的Keychain Sharing Capability添加。
  • FirebaseFirestore需要签名gRPC Resource目标

关于Crashlytics的附加说明

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

路线图

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

贡献

有关为 Firebase iOS SDK 做贡献的更多信息,请参阅 贡献

许可

此存储库的内容受 Apache 许可证第 2.0 版许可。

您使用 Firebase 受 Firebase 服务条款管辖。