Handler wird nicht aufgerufen, nachdem Facebook Browser Login zur Anwendung weitergeleitet wurde

8

Ich benutze Facebook SDK v4.8.0 für iOS in meiner Anwendung für die Anmeldung mit Facebook. (iPhone OS Version 9.3)

Im Folgenden finden Sie einen verwandten Code für die Integration:

AppDelegate.swift

%Vor%

Login.Swift

%Vor%

Wenn der Benutzer kein Facebook-Konto auf dem Gerät konfiguriert hat, wechselt die App zum Browser und stellt die Facebook-Login-Benutzeroberfläche zur Verfügung. Sobald der Benutzer mit der Anmeldung fertig ist, leitet der Browser die App um. Bis zu diesem Punkt funktioniert alles gut.

Problem

Wenn der Browser den Benutzer zur App umleitet, passiert nichts. (Kein Handler für Erfolg ODER Fehler wird aufgerufen). Nur wenn der Benutzer im Browser auf "Fertig" klickt, wird "Storniert" im Protokoll gedruckt. Aber für "Abbrechen" oder "OK" (oder sagen Sie "Als Benutzername weitermachen") passiert nach der Weiterleitung nichts.

Irgendwelche Hinweise?

Lass es mich wissen, wenn ich irgendwelche Informationen verpasst habe.

    
viral 14.05.2016, 12:34
quelle

3 Antworten

3

Ich denke, dass Ihre Open-URL-Methode folgende Änderung benötigt:

%Vor%

Lass es mich wissen, wenn es funktioniert.

    
sweta.me 17.02.2017, 12:42
quelle
3

Ich würde empfehlen Facebook zu verwenden und ihre FBSDKLoginButton zu implementieren. Legen Sie Leseberechtigungen für die Schaltfläche facebookButton.readPermissions = ["email", "user_birthday", "public_profile"] fest. Und der Delegierte zum viewController.

%Vor%

Achten Sie darauf, dass Sie alle Informationen zu den Facebook-Plisteneinstellungen befolgen. Und App-Transportsicherheit für iOS 9 +

    
Marcos Griselli 23.05.2016 15:11
quelle
2

In der application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -Methode übergeben Sie die fest codierten Strings sourceApplication und annotation -Parameter.

Ich denke, das ist das Problem. Versuchen Sie, die Werte im options - Wörterbuch mit den statischen Schlüsseln UIApplicationOpenURLOptionsSourceApplicationKey und UIApplicationOpenURLOptionsAnnotationKey zu übergeben.

Sie sollten auch @available(iOS 9.0, *) vor der Methodendeklaration hinzufügen, da sie nur von iOS 9 verfügbar ist.

Die letzte Funktion sollte in etwa so aussehen:

%Vor%     
tx2 18.05.2016 16:50
quelle