Fermer la session Facebook dans Facebook-Ios-Sdk
Comment puis-je fermer la Session aCtive De la Facebook-iOS-Sdk
à chaque fois quand je démarre mon application après avoir tué application, elle me donne de la connexion précédente session de détails. Quand je clique sur le facebook Bouton .J'ai utilisé tout [appDelegate.session closeAndClearTokenInformation];
[FBSession.activeSession close];
[FBSession.activeSession closeAndClearTokenInformation]
..mais de la session active toujours pas été de près..comment puis-je fermer la session Précédente de données en cliquant sur.
J'utilise le code ci-dessous pour effacer mais à chaque fois que je clique sur le facebook bouton pour démarrer une nouvelle session..il me donne de nouveau les informations d'identification précédentes.
- (IBAction)buttonClickHandler:(id)sender {
appDelegate = [[UIApplication sharedApplication]delegate];
//this button's job is to flip-flop the session from open to closed
if (appDelegate.session.isOpen) {
[appDelegate.session closeAndClearTokenInformation];
[FBSession.activeSession close];
[FBSession.activeSession closeAndClearTokenInformation];
FBSession.activeSession=nil;
} else {
if (appDelegate.session.state != FBSessionStateCreated) {
//Create a new, logged out session.
appDelegate.session = [[FBSession alloc] init];
}
//if the session isn't open, let's open it now and present the login UX to the user
[FBSession.activeSession closeAndClearTokenInformation];
FBSession.activeSession=nil;
[FBSession.activeSession openWithBehavior:FBSessionLoginBehaviorForcingWebView
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
//and here we make sure to update our UX according to the new session state
NSLog(@" state=%d",state);
[FBRequestConnection
startForMeWithCompletionHandler:^(FBRequestConnection *connection,
id<FBGraphUser> user,
NSError *error) {
userInfo = @"";
//Example: typed access (name)
//- no special permissions required
userInfo = user.username;
NSLog(@"string %@", userInfo);
[self checkfacebook];
}];
}]; }
}
et dans ViewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
if (!appDelegate.session.isOpen) {
//create a fresh session object
appDelegate.session = [[FBSession alloc] init];
if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded) {
//even though we had a cached token, we need to login to make the session usable
[FBSession.activeSession close];
FBSession.activeSession=nil;
}
}
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray* facebookCookies = [cookies cookiesForURL:[NSURL URLWithString:@"http://login.facebook.com"]];
for (NSHTTPCookie* cookie in facebookCookies) {
[cookies deleteCookie:cookie];
}
}
source d'informationauteur Christien
Vous devez vous connecter pour publier un commentaire.
hi Christien peut être soufflet deux lier son aide vous s'il vous plaît refur ce double lien de
developers.facebook
http://developers.facebook.com/docs/reference/ios/3.0/class/FBSession/
http://developers.facebook.com/docs/reference/ios/3.0/class/FBSession/#close
vous pouvez également consulter ce deux question concernant votre question :-
Facebook graph api de log out ne fonctionne pas
Facebook SDK iOS 3.1.1 "closeAndClearTokenInformation" méthode de travail
espère que sa vous aide
Après l'appel de
utilisation suivantes pour effacer les cookies. Il a travaillé pour moi!
Nitin de Gohel réponse, Swift version:
vous pouvez utiliser
Mais la fonction demander une déballé l'objet, de sorte que "néant" ne semble pas un bon paramètre à passer