IOS Facebook SDK: Was ist falsch mit sharerDidCancel: (idFBSDKSharing) Sharer-Delegat?

8

Ich benutze Facebook sdk funktionierte gut, mit Ausnahme von Delegierten " sharerDidCancel: (ID) sharer ".

Wenn ich meine Freigabe mit der nativen Dialog-FB-App abbringe, wird der Delegat " sharer: (id) sharer didCompleteWithResults: (NSDictionary *) Ergebnisse " immer aufgerufen? Also kann ich nicht mit meinen Benutzern umgehen, wenn sie die Dialogfreigabe posten oder abbrechen, ist das ein Fehler von Facebook SDK für IOS?

Danke für jede Hilfe!

    
NguyenDark 12.05.2015, 08:38
quelle

4 Antworten

2

Ich habe gerade die Facebook SDK-Dokumente durchforstet und das gefunden :

  

sharer: didCompleteWithResults: wenn der Benutzer erfolgreich freigegeben hat. Darüber hinaus gibt es im Ergebniswörterbuch einen postId-Schlüssel, wenn der Benutzer der App die Berechtigung publish_actions erteilt hat. Wenn dieser Benutzer nicht bei der Facebook-Anmeldung angemeldet ist, wird diese Methode auch aufgerufen, wenn der Benutzer auf Abbrechen klickt.

Wenn Sie also nicht eingeloggt sind, funktioniert die Überprüfung von cancel nicht (was Quatsch ist). Sieht so aus, als könnten Sie vielleicht einige Berechtigungen vergeben und dann die postId überprüfen.

    
GeordieMatt 06.05.2016 10:54
quelle
2

Ich hatte dasselbe Problem beim Teilen in iOS 11. Ich habe gerade den nativen FB-Dialog in den Webdialog geändert. Wie unten:

Verwenden Sie die folgende Methode:

dialog.mode = FBSDKShareDialogMode.feedWeb

statt

dialog.mode = FBSDKShareDialogMode.native

Unten ist mein Code.Es funktioniert gut für mich.

%Vor%     
Sonam Maniar 26.10.2017 12:18
quelle
0

Ich fand es nützlich, wenn Sie FBSDKShareDialogModeWeb verwenden, um einen Link zu teilen, und FBSDKShareDialogModeNative , um ein Foto freizugeben. Wenn Sie dann auf "Abbrechen" klicken, wird der abgebrochene Delegat zurückgegeben. Aber es funktionierte nur vor iOS 9.1 und nicht unter iOS 9.1. Ich weiß nicht warum und wie ich es noch lösen soll. Hoffe, diese Antwort ist hilfreich.

    
fiona zhou 27.11.2015 02:47
quelle
-1

Ich habe auch festgestellt, dass sharerDidCancel beim Abbrechen nie aufgerufen wird.

Sie können tun, wie Tejvansh vorgeschlagen, aber überprüfen, ob die Ergebnisse Null ist, wird nicht funktionieren, weil es nicht Null ist, wenn der Benutzer abbricht, einfach leer.

Ich überprüfe, ob der Schlüssel "postId" existiert. In diesem Fall war der Post erfolgreich, andernfalls nehme ich an, dass der Benutzer abgebrochen wurde.

Schnelles Beispiel:

%Vor%     
jeffjv 06.08.2015 00:08
quelle

Tags und Links