1
votes

La connexion Facebook ne fonctionne pas sous iOS 13 en Objective-C

Comment faire fonctionner la connexion Facebook dans iOS 13 en Objective-C? Il fonctionne sous iOS 12 mais ne fonctionne pas sous iOS 13 (il renvoie isCancellation true).


3 commentaires

S'il vous plaît aller lire Comment demander .


Bien que beaucoup de choses aient changé depuis la mise à jour d'Ios 13, je ne sais pas pourquoi Facebook "Login" ne fonctionne pas. , êtes-vous sûr d'utiliser le bon identifiant d'application Facebook. De plus, si vous obtenez une erreur ou un stacktrace, vous pouvez nous le fournir.


Oui, l'identifiant d'application Facebook est correct car il fonctionne sous iOS 12. Dans iOS 13, il renvoie isCancellation true


3 Réponses :


0
votes

La mise à niveau vers le FBSDK actuel devrait résoudre le problème.

FBSDKCoreKit / FBSDKCoreKit / Internal / BridgeAPI / FBSDKBridgeAPI.m a été modifié pour prendre en charge l'exigence d'iOS 13 d'implémenter ASWebAuthenticationPresentationContextProviding dans FBSDKCoreKit 5.4. La version actuelle est la 5.8. Les versions antérieures ne fonctionneront plus.

Le changement nécessaire est affiché ici: https://github.com/facebook/facebook-ios-sdk/commit/6b061099f339ef0e8bde2e2c2163ef5a3c1b8340#diff-72593591275d63edfb1bfad837e4c32f


0 commentaires

-1
votes

Ajoutez simplement le code suivant sous la méthode déléguée «didFinishLaunchingWithOptions» dans AppDelegate. Il fonctionne également avec le dernier SDK Facebook et iOS 13. Commentez si quelqu'un obtient une erreur.

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


0 commentaires

1
votes

si vous avez créé une application dans xCode 11, suivez-moi.

IMPORTANT - importez FBSDKLoginKit dans le fichier sceneDelegate.

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let url = URLContexts.first?.url else {
    return
}

let _ = ApplicationDelegate.shared.application(
    UIApplication.shared,
    open: url,
    sourceApplication: nil,
    annotation: [UIApplication.OpenURLOptionsKey.annotation])

}


0 commentaires