FirebaseUI for iOS — Firebase 的 UI 绑定
FirebaseUI 是一个针对 iOS 的开源库,允许您将常见的 UI 元素快速连接到 Firebase 数据库进行数据存储,允许视图在它们更改时实时更新,并提供简单界面以显示项目列表或集合。
此外,FirebaseUI 通过提供易于使用的身份验证方法简化了 Firebase 身份验证,这些方法可以与 Facebook、Twitter 和 Google 等常见的身份提供者集成,同时允许开发者使用内置的填充 UI 以简化开发。
FirebaseUI 客户端也适用于 Android 和 网络。
安装 FirebaseUI for iOS
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'
如果您将 FirebaseUI 包含在一个 Swift 项目中,请确保您还拥有
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
) -
为了使用
Phone Auth
提供者,您应该配置推送通知。
配置苹果推送通知
在Xcode中启用静默推送通知
推送通知
- 在您应用程序目标的功能
选项卡下,选择推送通知
并将开关置于开启
位置。后台模式
- 在您应用程序目标的功能
选项卡下,选择后台模式
并将开关置于开启
位置。在可用的模式列表中,选择后台获取
和远程通知
(如果可用)。
将APNS证书上传到Firebase
-
通过以下链接上的步骤创建您的
配置APNS SSL证书
。 https://firebase.google.com/docs/cloud-messaging/ios/certs -
将您的
APNS证书
上传到Firebase- 在Firebase控制台中,选择齿轮图标,选择
项目设置
,然后选择云消息
选项卡。 - 为您的开发证书、生产证书或两者的
上传证书
按钮。至少需要一个。 - 对于每个证书,选择
.p12文件
,如果有的话,提供密码。确保此证书的包标识符
与您的应用程序的包标识符
匹配。选择保存
。
- 在Firebase控制台中,选择齿轮图标,选择
为 FirebaseUI 做贡献
贡献者许可协议
我们非常愿意接受您的示例应用程序和补丁!在我们能够这样做之前,我们必须跳过几个法律障碍。
请填写个人或企业贡献者许可协议(CLA)。
- 如果您是编写原创源代码的个人,并且您确信您拥有知识产权,那么您将需要签署一个[个人CLA](https://developers.google.com/open-source/cla/individual)。
- 如果您是希望您贡献工作的公司的工作人员,那么您将需要签署一个[企业CLA](https://developers.google.com/open-source/cla/corporate)。
访问上面的两个链接之一以获取适当的CLA和签名及返回的说明。收到后,我们将能够接受您的拉取请求。
贡献流程
- 提交一个问题描述您打算对相关仓库进行的更改。
- 仓库所有者将及时回应您的提问。
- 如果您的更改提案被接受,并且您尚未这样做,那么请签署一个贡献者许可协议(见上方详细说明)。
- 克隆所需的仓库,开发和测试您的代码更改。
- 确保您的代码遵循您贡献的库的现有风格。
- 确保您的代码包含适当的单元测试,并且所有测试都通过。
- 提交一个拉取请求