FirebaseUI for iOS — Firebase 的 UI 绑定
FirebaseUI 是一个开源库,适用于 iOS,允许您快速将常见的 UI 元素连接到 Firebase 数据库,以实现数据存储,允许可视视图在实时更新时进行更新,并提供简单接口,用于常见任务,如显示列表或项目集合。
此外,FirebaseUI 通过提供易于使用的 auth 方法简化了 Firebase 身份验证,这些方法与 Facebook、Twitter 和 Google 等常见身份提供者集成,并允许开发人员使用内置的图形界面,以简化开发过程。
FirebaseUI 还为 Android 和 网页 提供客户端。
安装 iOS 的 FirebaseUI
FirebaseUI 支持 iOS 10.0+ 和 Xcode 11+。我们建议使用 CocoaPods,将以下内容添加到您的 Podfile
pod 'FirebaseUI', '~> 8.0' # Pull in all Firebase UI features
如果您不想使用 FirebaseUI 的所有功能,有多个 subspec 可以选择安装完整功能集的部分子集
# Only pull in Firestore features
pod 'FirebaseUI/Firestore', '~> 8.0'
# Only pull in Database features
pod 'FirebaseUI/Database', '~> 8.0'
# Only pull in Storage features
pod 'FirebaseUI/Storage', '~> 8.0'
# Only pull in Auth features
pod 'FirebaseUI/Auth', '~> 8.0'
# Only pull in Facebook login features
pod 'FirebaseUI/Facebook', '~> 8.0'
# Only pull in Google login features
pod 'FirebaseUI/Google', '~> 8.0'
# Only pull in Phone Auth login features
pod 'FirebaseUI/Phone', '~> 8.0'
如果您在 Swift 项目中包含 FirebaseUI,请确保您也有
platform :ios, '11.0'
use_frameworks!
否则,您可以将此存储库中的 FirebaseUI Xcode 项目包含到您的项目中。您还需要 添加 Firebase 框架 到您的项目。
文档
FirebaseUI组件的README文件可以在各自的工程文件夹中找到。
本地设置
如果您想为FirebaseUI for iOS做出贡献,您需要运行以下命令来设置您的开发环境
$ git clone https://github.com/firebase/FirebaseUI-iOS.git
$ cd FirebaseUI-iOS
$ cd Auth # or PhoneAuth, Database, etc
$ pod install
或者您可以使用pod try FirebaseUI
命令安装Objective-C或Swift的示例项目。
示例项目配置
您将需要配置Xcode项目以运行示例。
-
您的Xcode项目应包含一个从Firebase控制台下载的
GoogleService-Info.plist
文件,当您将应用程序添加到Firebase项目时。
将GoogleService-Info.plist
复制到示例项目文件夹中(samples/obj-c/GoogleService-Info.plist
或samples/swift/GoogleService-Info.plist
)。 -
更新URL类型。
转到项目设置 -> 信息标签 -> URL类型
并更新以下值REVERSED_CLIENT_ID
(从GoogleService-Info.plist
获取值)fb{您的应用程序ID}
(插入Facebook App ID)
-
在
Info.plist
中更新Facebook配置值FacebookAppID -> {您的应用程序ID}
(插入Facebook App ID)
-
启用密钥链共享。
Facebook SDK需要密钥链共享。
这可以在以下位置完成:项目设置 -> 能力 -> 密钥链共享 -> 打开
-
别忘了使用Firebase控制台配置您的Firebase App数据库。
数据库应包含适当的读写权限和文件夹(分别为objc_demo-chat
和swift_demo-chat
) -
为了使用
电话认证
提供者,您应该配置推送通知
配置苹果推送通知
在Xcode中启用静默推送通知
推送通知
- 在您的应用程序目标的功能
选项卡下,选择推送通知
并将开关切换到开启
位置。后台模式
- 在您应用程序目标的功能
选项卡下,选择后台模式
并将开关切换到开启
位置。在可用的模式列表中,选择后台刷新
和远程通知
(如果可用)。
将APNS证书上传至Firebase
-
根据以下链接中的步骤创建您的
Provisioning APNS SSL Certificates
。 https://firebase.google.com/docs/cloud-messaging/ios/certs -
将您的
APNS 证书
上传到 Firebase- 在 Firebase 控制台中,选择齿轮图标,选择
项目设置
,然后选择云消息
选项卡。 - 为您的开发证书、生产证书或两者同时选择
上传证书
按钮。至少需要一个。 - 对于每个证书,选择
.p12 文件
,并(如果有)提供密码。确保此证书的bundle ID
与您的应用程序的bundle ID
匹配。选择保存
。
- 在 Firebase 控制台中,选择齿轮图标,选择
为FirebaseUI做出贡献
贡献者许可协议
我们非常欢迎接受您的应用程序样本和补丁!在我们能接受它们之前,我们需要跨越一些法律障碍。
请填写个人或公司贡献者许可协议(CLA)。
- 如果您是创作原始源代码的个人并且您确信您拥有知识产权,那么您需要签署一份[个人CLA] (https://developers.google.com/open-source/cla/individual)。
- 如果您为公司工作的并且该公司希望您贡献自己的工作,那么您需要签署一份[公司CLA] (https://developers.google.com/open-source/cla/corporate)。
点击上面提供的两个链接中的任一链接,以获取适当的CLA和签署及退回的说明。一旦我们收到它,我们就能接受您的pull请求。
贡献流程
- 提交一个问题描述您对相关仓库提出的更改。
- 仓库所有者将及时回复您的问题。
- 如果您的更改被接受,并且您之前尚未这样做,请签署一份贡献者许可协议(见上文详细说明)。
- 将想要的仓库分支出来,开发和测试您的代码更改。
- 确保您的代码遵守您贡献的库的现有风格。
- 确保您的代码具有适当的单元测试集并且所有测试都通过。
- 提交一个pull请求