FirebaseCommunity 0.1.6

FirebaseCommunity 0.1.6

测试已测试
语言编程语言 Obj-CObjective C
许可证 Apache-2.0
发布上次发布2020年10月

Google维护。



Firebase iOS开源开发 构建状态

此仓库包含Firebase iOS SDK源代码的子集。它目前包括FirebaseCore, FirebaseAuth, FirebaseDatabase, FirebaseMessaging, FirebaseStorage和Firestore。

Firebase是一个应用开发平台,它拥有帮助您构建、增长和货币化您的应用的工具。有关Firebase的更多信息,请访问https://firebase.google.com

注意:此页和仓库是供那些对探索Firebase iOS SDK内部结构感兴趣的人使用的。如果您对使用Firebase iOS SDK感兴趣,请从https://firebase.google.com/docs/ios/setup开始。

上下文

此仓库包含FirebaseCore, FirebaseAuth, FirebaseDatabase, FirebaseMessaging和FirebaseStorage的完整功能开发环境。按照以下使用说明,它们可以通过单元测试、集成测试和参考示例进行开发和调试。

但是请注意,由于pod依赖定义不同,生成的FirebaseCommunity pod与官方Firebase发布pod不兼容。

Firestore尚未与FirebaseCommunity集成。在此期间,它有一个独立的Xcode项目。有关Firebase的更多信息,请参阅Firestore/README.md

BuildFrameworks中提供构建可替换静态库框架的说明和脚本。生成的框架可以用于替代CocoaPods提供或zip分发的框架进行开发。

使用方法

$ git clone [email protected]:firebase/firebase-ios-sdk.git
$ cd firebase-ios-sdk/Example
$ pod update
$ open Firebase.xcworkspace

运行单元测试

选择一个方案,然后按 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,并替换相应的占位符 plist 文件(例如在 Example/Database/App/ 中)

一些示例应用(如 Firebase 消息传递(Example/Messaging/App))需要特殊的 Apple 功能,您必须更改示例应用以使用您可以在自己的 Apple 开发者账户中控制的唯一 bundle 标识符。

特定组件说明

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

Firebase 身份验证

如果您正在开发特定的 Firebase Auth,请参阅AuthSamples/README.md,了解如何构建和运行 FirebaseAuth pod 以及各种示例和测试的说明。

Firebase 数据库

要运行数据库集成测试,请将数据库身份验证规则设置为公开

Firebase 存储

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

Firebase 消息传递

要使用消息传递,除了在您的Podfile中包含pod 'FirebaseCommunity/Messaging'外,还应包含pod 'FirebaseInstanceID'

推送通知

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

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

iOS 模拟器

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

社区支持的贡献

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

注意,如果您正在使用CocoaPods并且使用了FirebaseCommunity podspec(本存储库中的那个),则不能从官方Firebase podspec引入Pods,因为这会导致符号冲突。如果您不是出于开发目的在此存储库中使用开源SDK,我们建议您使用常规Firebase pods以获得最佳体验。

要开始使用FirebaseCommunity SDK,这是一个典型的Podfile。

use_frameworks!

target 'MyAppTarget' do
  platform :ios, '8.0'
  pod 'FirebaseCommunity/Database'
end
  1. MyAppTarget替换为您Xcode项目中的目标名称。
  2. 在Podspec中对每个想要的Firebase组件指定子规格。在上面的例子中使用Database。Storage、Auth和Messaging也是其他选项。

macOS

归功于社区的贡献,现在FirebaseAuth、FirebaseCore、FirebaseDatabase和FirebaseStorage可以在macOS上编译、运行单元测试,并且工作正常。需要一些调整,例如确保仅iOS或仅macOS的代码通过检查TARGET_OS_IOSTARGET_OS_OSX来正确保护。

请注意,Firebase官方不支持macOS,并且此存储库主要针对iOS开发积极开发。虽然我们可以通过Travis捕获基本的单元测试问题,但在某些变化中,SDK在macOS上的工作可能不再像预期的那样。如果您遇到这种情况,请提交一个问题

路线图

关于Firebase iOS SDK开源计划和方向,请参阅路线图

贡献

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

许可协议

本存储库的内容遵照Apache许可证版本2.0进行许可。

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