gpt4 book ai didi

ios - 使用 Firebase 匿名登录影响 Facebook 登录

转载 作者:行者123 更新时间:2023-11-28 07:48:45 26 4
gpt4 key购买 nike

我在尝试结合 Firebase 匿名登录登录/授权 facebook 时遇到一些问题。

我目前有一个常规的 UIButton,它尝试使用以下代码让用户登录。

let loginManager = FBSDKLoginManager()
loginManager.logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self, handler: { (result: FBSDKLoginManagerLoginResult!, error) -> Void in
// get fbsdk token and login through firebase
})

通常,单击该按钮会出现正常行为,其中显示 alertController 并询问用户是否要使用 facebook.com 登录。单击继续后,Safari(或 facebook ) 打开以授权该应用。

这一切都很好,但如果用户首先从 Firebase 匿名登录,则单击同一按钮通过 facebook 登录现在将失败。在弹出 alertController 询问用户之后,屏幕(Safari)看起来好像在演示过程中中途中止并停留在当前屏幕上,而不是显示 Safari 以获得 facebook 授权。如果您再次点击该按钮,应用程序最终将崩溃,并且不会出现任何错误消息

(it will just show a EXC_BAD_ACCESS message on the AppDelegate).

作为例子,我在下面放了代码来展示如何保证facebook登录失败。

Auth.auth().signInAnonymously { (user, error) in
if let error = error {
print(error.localizedDescription)
}
if let user = user {
let loginManager = FBSDKLoginManager()
loginManager.logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self, handler: { (result: FBSDKLoginManagerLoginResult!, error) -> Void in
// get fbsdk token and login through firebase
})
}
}

很明显,在我的实际代码中,我并没有尝试在匿名登录后立即登录,但它表明匿名签名显然会以某种方式影响 FBSDKLoginManager。我看过 SO 但还没有真正看到任何关于此的问题。想知道这是一个错误还是我只是遗漏了什么。

这是在 iOS/Swift FYI 上。谢谢!

最佳答案

让 loginManager = FBSDKLoginManager() loginManager.logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self, handler: { (result: FBSDKLoginManagerLoginResult!, error) -> Void in//获取 fbsdk token 并通过 firebase 登录logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self, handler: { (result: FBSDKLoginManagerLoginResult!, error) -> Void in//获取 fbsdk token 并通过 firebase 登录 }) } }

关于ios - 使用 Firebase 匿名登录影响 Facebook 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50243751/

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