如果在Facebook应用程序中打开,Facebook登录被困在循环中



我正在我的应用程序中实现Facebook登录。 如果用户没有Facebook应用程序,它可以正常工作,但是当用户拥有Facebook应用程序时,它会失败。因为在登录时,它提倡使用该应用程序进行登录。一旦在Facebook应用程序中登录,它就会回来并卡在登录屏幕上。

请参阅以下屏幕录像:

https://flair-inventory.s3-us-west-2.amazonaws.com/RPReplay_Final1591237513.MP4

以下项目可以重现相同的问题。 在设备上构建并安装此应用程序,同时在同一设备上安装Facebook应用程序。

以下应用可以重现此问题:

https://github.com/LeeKahSeng/SwiftSenpai-FB-Integration-Demo

如果您设置的步骤登录 facebook 是正确的,您应该检查下面的 Appdelegate 函数,也许在您的代码中返回 false。

尝试遵循这个,在同样的情况下,你的视频对我有用。

func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool {

return ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey(rawValue: UIApplication.OpenURLOptionsKey.sourceApplication.rawValue )] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] )

}

感谢这篇文章:

就我而言,在根据FB文档添加SceneDelegate的额外代码后,我还需要在MotherView中调用的LoadView((上添加.onOpenURL { ... }代码,如以下示例所示:

var body: some Scene {
WindowGroup {
LoadingView()
.onOpenURL { (url) in
ApplicationDelegate.shared.application(
UIApplication.shared,
open: url,
sourceApplication: nil,
annotation: [UIApplication.OpenURLOptionsKey.annotation]
)
}
}
}

最新更新