FirebaseUI for iOS — Firebase的UI绑定
FirebaseUI是一个适用于iOS的开源库,允许您快速将常见的UI元素连接到Firebase数据库以进行数据存储,允许视图在数据变化时实时更新,并为显示列表或项目集合等常见任务提供简单的界面。
此外,FirebaseUI还通过提供便于使用的认证方法,并集成常见的身份提供者(如Facebook、Twitter和Google)以及允许开发者使用内置的头像式UI来简化Firebase认证。
为iOS安装FirebaseUI
FirebaseUI支持iOS 10.0+和Xcode 11+。我们建议使用CocoaPods,在您的Podfile
中添加以下内容
pod 'FirebaseUI', '~> 8.0' # Pull in all Firebase UI features
如果您不希望使用FirebaseUI的所有功能,存在多个子规范,可以安装完整功能集的子集
# 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{你的-app-id}
(放置Facebook App Id)
-
使用Facebook配置值更新
Info.plist
FacebookAppID -> {你的-app-id}
(放置Facebook App Id)
-
启用密钥链共享。
Facebook SDK需要密钥链共享。
这可以在以下位置完成:项目设置 -> 功能 -> 密钥链共享 -> 开启
-
不要忘记使用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文件
,如果有密码,请提供密码。确保此证书的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 以及如何签署和提交的说明。一旦我们收到它,我们就能接受您的拉取请求。
贡献流程
- 提交一个问题描述您提出的更改的 issues 到您所提出的特定仓库。
- 仓库所有者会迅速响应您的 issues。
- 如果您的提议被接受,且您尚未这样做,需要签署贡献者许可协议(请参阅以上详情)。
- 将您希望贡献的仓库进行 Fork,开发和测试您的代码更改。
- 确保您的代码遵循您所贡献的库的现有风格。
- 确保您的代码具有适当的一套单元测试,并且所有测试都通过。
- 提交拉取请求