GoogleDataTransportCCTSupport 3.2.0

GoogleDataTransportCCTSupport 3.2.0

Google维护。



 
依赖项
GoogleDataTransport~> 6.1
nanopb~> 1.30905.0
 

  • Google, Inc.

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 Travis

Firebase Apple Open Source Development

此仓库包含所有Apple平台Firebase SDK源代码,除外FirebaseAnalytics、FirebasePerformance和FirebaseML。

此仓库还包括GoogleUtilities源代码。GoogleUtilities源代码是Firebase和其他Google产品支持的实用程序集合。

Firebase是一个应用程序开发平台,可帮助您构建、增长并盈利您的应用程序。有关Firebase的更多信息,请参阅https://firebase.google.com

安装

请查看以下三个子节,了解三种不同安装方法的详细信息。

  1. 标准pod install
  2. 从GitHub仓库安装
  3. 实验性Carthage

标准pod install

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

从GitHub安装

对于从5.0.0版本开始发布的版本,每个版本的源代码也部署到了CocoaPods主服务器,并通过标准CocoaPods Podfile语法提供。

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

背景

参见Podfile语法参考获取有关覆盖pod源位置的指令和选项。

访问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

Rome

有关通过Rome安装二进制框架的说明,请参阅Rome

在框架或库中使用 Firebase

在框架或库中使用 Firebase

开发

为了开发该存储库中的 Firebase 软件,请确保您至少拥有以下软件

对于您要开发的自定义 pod

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

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

注意:将 --platforms 选项设置为 macos 或 tvos,以开发/测试这些平台。自 10.2 版本起,Xcode 无法正确处理多平台 CocoaPods 工作区。

Firestore 包含一个自包含的 Xcode 项目。请参阅 Firestore/README.md。

针对 Catalyst 开发

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

添加新的 Firebase Pod

请参阅 AddNewPod.md。

管理头文件和导入

请参阅 HeadersImports.md

代码格式化

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

Travis将通过验证任何代码更改是否以符合风格的方式执行。安装clang-formatswiftformat。这些命令将获得正确的版本

brew upgrade https://raw.githubusercontent.com/Homebrew/homebrew-core/c6f1cbd/Formula/clang-format.rb
brew upgrade https://raw.githubusercontent.com/Homebrew/homebrew-core/c13eda8/Formula/swiftformat.rb

注意:如果你已经安装了这些软件的较新版本,你可能需要通过brew switch切换到这个版本。

为了更新本节,请在本找到clang-format 和 swiftformat.rb的版本,以与CI失败日志中的版本匹配。

运行单元测试

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

查看代码覆盖率(已弃用)

首先,确保已通过gem install xcov安装了xcov

在Xcode中运行“AllUnitTests_iOS”方案后,在终端中转到Example/目录,并执行xcov --workspace Firebase.xcworkspace --scheme AllUnitTests_iOS --output_directory xcov_output。这样将汇总覆盖率,你可以通过运行open xcov_output/index.html来查看结果。

运行示例应用程序

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

  1. 前往Firebase控制台
  2. 如果您还没有,请创建一个新的Firebase项目
  3. 对于您想测试的每个样本应用,使用样本应用的包标识符(例如 com.google.Database-Example)创建一个新的Firebase应用
  4. 下载生成的 GoogleService-Info.plist 文件,并替换适当的虚拟plist文件(例如在 Example/Database/App/ 中);

一些样本应用(如Firebase Messaging,示例/ Messaging/App)需要特殊的Apple功能,您必须修改样本应用,使用您自己的Apple开发者账号可以控制的唯一包标识符。

特定组件说明

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

Firebase Auth

如果您正在进行特定的Firebase Auth开发,请参阅Auth Sample README,了解构建和运行FirebaseAuth pod以及各种样本和测试的说明。

Firebase Database

Firebase Database功能测试可以用本地运行的模拟器或生产实例运行。

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

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

Firebase Storage

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

推送通知

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

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

iOS 模拟器

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

社区支持的努力

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

tvOS, macOS, watchOS 和 Catalyst

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

对于 tvOS,请查看 示例。对于 watchOS,目前仅限消息传递和存储(及其依赖项)有有限的支持。请查看 独立的 Watch 应用示例

请注意,Firebase不支持macOS、tvOS、watchOS和Catalyst,且此存储库主要针对iOS进行积极开发。虽然我们可以通过Travis捕获基本单元测试问题,但可能有一些变化导致SDK在macOS、tvOS或watchOS上的表现不再符合预期。如果您遇到这种情况,请提交一个问题

在控制台中的应用程序设置过程中,您可能会遇到一个提到类似“检查应用程序是否与我们服务器通信”的步骤。这依赖于分析功能,在macOS/tvOS/watchOS/Catalyst上无法工作。 可以安全地忽略此消息并继续,其他SDK将按预期正常工作。

要安装,请将以下子集添加到Podfile中

pod 'Firebase/ABTesting'     # No watchOS support yet
pod 'Firebase/Auth'          # No watchOS support yet
pod 'Firebase/Crashlytics'   # No watchOS support yet
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/RemoteConfig'  # No watchOS support yet
pod 'Firebase/Storage'

额外的Catalyst说明

  • FirebaseAuth和 FirebaseMessaging需要在构建设置中添加密钥链共享功能
  • FirebaseFirestore需要为gRPC资源目标签名。

路线图

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

参与

有关向Firebase iOS SDK进行贡献的更多信息,请参阅参与

许可证

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

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