繁体   English   中英

Facebook 登录在 iOS 13 中不起作用 Objective-C

[英]Facebook Login not working in iOS 13 in Objective-C

如何使 Facebook 登录在 Objective-C 的 iOS 13 中工作? 它在 iOS 12 中工作,但在 iOS 13 中不起作用(它返回 isCancellation true)。

如果您在 xCode 11 中创建了应用程序,请关注我。

重要- 在 sceneDelegate 文件中导入 FBSDKLoginKit。

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
enter code here
  guard let url = URLContexts.first?.url else { return }
    
  let _ = ApplicationDelegate.shared.application(
        UIApplication.shared,
        open: url,
        sourceApplication: nil,
        annotation: [UIApplication.OpenURLOptionsKey.annotation])
}

升级到当前的 FBSDK 应该可以解决问题。

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

所需的更改发布在这里: https://github.com/facebook/facebook-ios-sdk/commit/6b061099f339ef0e8bde2e2c2163ef5a3c1b8340#diff-72593591275d63edfb1bfad837e4c32

只需在 AppDelegate 中的“didFinishLaunchingWithOptions”委托方法下方添加以下代码。 它也适用于最新的 Facebook SDK 和 iOS 13。 如果有人收到错误,请发表评论。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM