FirebaseUI for iOS — Firebase 的 UI 绑定
FirebaseUI 是一个为 iOS 开发的开源库,它允许您快速连接常见的 UI 元素到 Firebase 数据库,以便进行数据存储。这使得视图可以在数据变化时实时更新,并提供简单的接口来执行显示列表或项目集合等常见任务。
此外,FirebaseUI 通过提供易于使用的认证方法简化了 Firebase 身份验证,这些方法可以与 Facebook、Twitter 和 Google 等常见的身份提供者集成。同时,它还允许开发者使用嵌入式的 UI 以便更容易地进行开发。
FirebaseUI 客户端也适用于 Android 和 Web。
为 iOS 安装 FirebaseUI
FirebaseUI 支持 iOS 10.0+ 和 Xcode 11+ 我们建议使用 CocoaPods,并在您的 Podfile
中添加以下内容:
pod 'FirebaseUI', '~> 8.0' # Pull in all Firebase UI features
如果您不希望使用 FirebaseUI 的所有功能,有多种 subspecs 可让您选择性安装功能集的子集
# 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 仓库将 FirebaseUI 添加到您的项目中。您还需要 将 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
) -
为了使用
Phone Auth
提供程序,您应该 配置推送通知
配置苹果推送通知
在Xcode中启用静默推送通知
推送通知
- 在你的应用目标的功能
选项卡下,选择推送通知
并将开关置于开启
位置。后台模式
- 在你的应用目标的功能
选项卡下,选择后台模式
并将开关置于开启
位置。在可用的模式列表中,选择后台获取
和远程通知
(如果可用)。
将APNS证书上传到Firebase
-
按照以下链接中的步骤创建你的
Provisioning APNS SSL Certificates
。 https://firebase.google.com/docs/cloud-messaging/ios/certs -
将你的
APNS Certificate
上传到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 request。
贡献流程
- 提交一个问题,描述您想对相应仓库提出的变化。
- 仓库所有者将及时回复您的问题。
- 如果您的建议被接受,并且尚未这样做,请签署贡献者授权协议(见以上详情)。
- 分叉您想要的仓库,开发并测试您的代码更改。
- 确保您的代码遵守您要贡献的库现有的风格。
- 确保您的代码有一个合适的单元测试套件,并且所有测试都通过。
- 提交一个 pull request