gpt4 book ai didi

swift - 如何使用 Swift 通过 Facebook、电子邮件或 Google 使用 Firebase 检测用户是否已登录我的应用程序

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:00 26 4
gpt4 key购买 nike

我想检测用户是否使用 Facebook 或电子邮件等登录...

我找到了适用于 Android 的答案,但我正在使用适用于 iOS 的 Swift 进行编程,我不确定如何完整地翻译代码。

android/java 代码是:

for (UserInfo user:FirebaseAuth.getInstance().getCurrentUser().getProviderData()) {
if (user.getProviderId().equals("facebook.com")) {
System.out.println("User is signed in with Facebook");
}
}

我试图翻译它,但我似乎无法弄清楚如何访问这些值。我一直在获取内存地址。

这是我的快速代码:

let authenticatedWith = FIRAuth.auth()?.currentUser?.providerData

最佳答案

根据docs , providerData 是一个FIRUserInfo 结构数组。

您发布的 Android 代码的(大部分)等效 Swift 代码如下所示:

if let providerData = FIRAuth.auth()?.currentUser?.providerData {
for userInfo in providerData {
switch userInfo.providerID {
case "facebook.com":
print("user is signed in with facebook")
default:
print("user is signed in with \(userInfo.providerID)")
}
}

请注意,providerID 属性也可以直接在 currentUser 属性返回的 FIRUser 结构上使用,因此您可以只这样做:

if let providerID = FIRAuth.auth()?.currentUser?.providerID {
switch providerID {
default:
print("user is signed in with \(providerID)")
}
}

关于swift - 如何使用 Swift 通过 Facebook、电子邮件或 Google 使用 Firebase 检测用户是否已登录我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39056853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com