Facebook login failed: "fbauth2:/" - error: "This app is not allowed to query for scheme fbauth2 iOS 13, Xcode 11

Facebook login failed: "fbauth2:/" - error: "This app is not allowed to query for scheme fbauth2 iOS 13, Xcode 11

我最近在更新到 iOS 13 和 Xcode11 后遇到了 Facebook 登录问题。登录工作正常,所有文档配置都正确,但我的两个应用程序现在出现此错误。

-canOpenURL: failed for URL: "fbauth2:/" - error: "This app is not allowed to query for scheme fbauth2

有一个类似的问题,但它与iOS 10有关,并且该问题明确指出info.plist配置不正确,但此处并非如此。

-canOpenURL: failed for URL: "fbauth2:/" - error: "This app is not allowed to query for scheme fbauth2" (OSStatus error -10814.)

升级到当前的 FBSDK 应该可以解决问题。 iOS13 需要实现 ASWebAuthenticationPresentationContextProviding,直到 FBSDKCoreKit 5.4 才可用。

FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPI.m 已修改以支持 iOS 13 在 FBSDKCoreKit 5.4 中实现 ASWebAuthenticationPresentationContextProviding 的要求。 (当前版本为 5.8。)之前的版本将不再有效。

所需的更改已发布在此处:https://github.com/facebook/facebook-ios-sdk/commit/6b061099f339ef0e8bde2e2c2163ef5a3c1b8340#diff-72593591275d63edfb1bfad837e4c32f

由于与 AWS 的依赖关系,我无法升级,但我能够根据上述差异中的差异修补文件的 4.42 版本。

错误 -canOpenURL: failed for URL: "fbauth2:/" - error: "This app is not allowed to query for scheme fbauth2 是 FBSDK 试图打开未安装的 Facebook 的症状,因此它只是在回退到基于浏览器的 FB 身份验证之前的警告。