Facebook SDK iOS 3.1.1 “closeAndClearTokenInformation” méthode de travail
J'ai juste mis à niveau à partir de Facebook SDK iOS 3.0.X 3.1.1, et réécrit un peu de code...
Comme par Facebook de la documentation pour la déconnexion de flux de travail (https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/#step3), je vais appeler la closeAndClearTokenInformation méthode de la FBSession.activeSession objet.
Cela ne semble avoir aucun effet sur le Facebook de l'état de session, car le contrôle juste après l'appel renvoie toujours une session ouverte.
Comme il est, une fois mon application se connecte avec Facebook, il n'a pas de déconnexion.
[JOUR 1]
Comme demandé, voici le code que j'utilise pour vérifier l'état de la session:
if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded && FBSession.activeSession.isOpen)
//logged in
else
//not logged in
[Mise à JOUR 2]
Changé ma logique un peu... Modifié mon code d'origine:
if (FBSession.activeSession.isOpen)
//logged in
else
//not logged in
Parce Que FBSession.activeSession.état était de retour FBSessionStateOpen, pas FBSessionStateCreatedTokenLoaded.
Ajouté le code, comme l'a demandé... Merci pour l'attention.
Après l'appel de closeAndClearTokenInformation mon FBSession.activeSession.état de la propriété est correctement réglé sur "FBSessionStateClosed" et votre condition ci-dessus renvoie "pas connecté". Faire votre chèque immédiatement après l'appel de closeAndClearTokenInformation et voir de quoi il en retourne. Correctement atteint //pas connecté pour moi.
Fait comme vous l'a recommandé, et il m'a aidé à trouver une faille dans ma logique. Fixe (voir mise à jour 2), et ça fonctionne maintenant.
grand heureux il a aidé
OriginalL'auteur Spencer Müller Diniz | 2012-10-15
Vous devez vous connecter pour publier un commentaire.
Peut-être que cela aidera.
https://developers.facebook.com/bugs/497294866962479?browse=search_507cb8ebc4f025673237228
J'appelle l'ensemble de ces méthodes pour vous assurer qu'il est vraiment de déconnexion. Fou de bugs.
J'ai utilisé plus de 3 lignes. Il se bloque dans iOS8.
Nope, ces 3 lignes fonctionnent très bien sur iOS 8 (au moins 8.1.2). J'ai eu exactement le même problème: ma session reste ouverte après l'appel de
closeAndClearTokenInformation
. L'suggéré lignes de le faire fonctionner sur OK.OriginalL'auteur user725840
Je sais que cela peut être en retard mais sur Android (3.0 SDK) de la Session.getActiveSession() peut retourner la valeur null si vous n'êtes pas dans le même Contexte dans lequel vous avez créé (ou si l'application a été fermée et la session n'a pas l'obtenir en quelque sorte restauré). Il arrive et il est traité par le SDK, donc il n'y a pas beaucoup que vous pouvez vraiment faire.
Dans ces cas, l'appel à closeAndClearTokenInformation() ne fait pas beaucoup (si vous regardez le code source, vous allez comprendre pourquoi). La solution pour moi, c'était quelque chose le long de ces lignes (en Java):
Effectivement cela laisse ma session:
Rappelez-vous qui a créé n'est pas le même que Fermée (ou Ouverte).
À partir de cet état que vous pouvez ré-ouvrir la session sans problèmes.
Espère que cette aide.
la solution ci-dessus fonctionne, merci beaucoup
OriginalL'auteur Martin Marconcini