簡體   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