FirebaseUI for iOS — Firebase 的 UI 绑定
FirebaseUI 是一个开源库,适用于 iOS,允许您快速将常见的 UI 元素连接到 Firebase 数据库以进行数据存储,允许视图在更改时实时更新,并且提供简单接口以执行常见任务,如显示列表或项目集合。
此外,FirebaseUI 通过提供易于使用的与常见身份提供商(如 Facebook、Twitter 和 Google)集成的身份验证方法简化了 Firebase 身份验证,同时允许开发者使用内置的全文 UI 以便于开发。
FirebaseUI 客户端也适用于 Android 和 Web。
安装 FirebaseUI for iOS
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 项目应该包含一个
GoogleService-Info.plist
文件,从将您的应用程序添加到 Firebase 项目时下载自 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 应用 ID)
-
在
Info.plist
中更新 Facebook 配置值FacebookAppID -> {你的应用 ID}
(添加 Facebook 应用 ID)
-
启用 Keychain Sharing。
Facebook SDK 需要 Keychain Sharing。
可以在以下位置操作:项目设置 -> 功能 -> KeyChain Sharing -> 开启
-
请记住使用 Firebase 控制台 来配置您的 Firebase App 数据库。
数据库应包含适当的读取/写入权限和文件夹(分别对应于objc_demo-chat
和swift_demo-chat
) -
要使用
电话认证
提供程序,您应该配置推送通知
配置Apple推送通知
在Xcode中启用静默推送通知
推送通知
- 在您的应用目标的功能
选项卡下选择推送通知
,并将开关置于开启
位置。后台模式
- 在您的应用目标的功能
选项卡下选择后台模式
,并将开关置于开启
位置。在可用模式列表中选择后台获取
和远程通知
(如有)。
将APNS证书上传到Firebase
-
通过以下链接的步骤创建您的
Provisioning APNS SSL Certificates
:https://firebase.google.com/docs/cloud-messaging/ios/certs -
将您的
APNS证书
上传到Firebase- 在Firebase控制台中,选择齿轮图标,选择
项目设置
,然后选择云消息
选项卡。 - 为您的开发证书、生产证书或两者选择
上传证书
按钮。至少需要一个。 - 对于每个证书,选择
.p12文件
,如果有密码,请提供密码。确保该证书的包ID
与您的应用的包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 请求