iphone - mini - como cerrar sesion en facebook en ipad
Cerrar la sesiĆ³n de Facebook en Facebook-Ios-Sdk (3)
Después de llamar
[FBSession.activeSession closeAndClearTokenInformation];
use following para borrar las cookies. ¡Funcionó para mí!
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie* cookie in
[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
[cookies deleteCookie:cookie];
}
Cómo cierro una sesión activa del Facebook-iOS-Sdk
cada vez que inicio mi aplicación después de matar la aplicación, me da los detalles de la sesión de inicio de sesión anterior. Cuando hago clic en el botón de Facebook. He usado todo [appDelegate.session closeAndClearTokenInformation];
[FBSession.activeSession close];
[FBSession.activeSession closeAndClearTokenInformation]
pero la sesión activa aún no se ha cerrado ... ¿cómo cierro los datos de la sesión anterior al hacer clic en.
Utilizo el siguiente código para borrar, pero cada vez que hago clic en el botón de Facebook para iniciar una nueva sesión ... me devuelve las credenciales anteriores.
- (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];
}];
}]; }
}
y en 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];
}
}
Hola Christien puede estar debajo de dos enlaces de su ayuda, por favor refurrad este enlace 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
[FBSession.activeSession closeAndClearTokenInformation];
[FBSession.activeSession close];
[FBSession setActiveSession:nil];
También puedes consultar esta dos preguntas relacionadas con tu problema:
Facebook api log out no funciona
Facebook iOS SDK 3.1.1 método "closeAndClearTokenInformation" no funciona
espero que te ayude
La respuesta Gohel de Nitin, versión Swift:
FBSession.activeSession().closeAndClearTokenInformation()
FBSession.activeSession().close()
FBSession.setActiveSession(FBSession())
puedes usar
FBSession.setActiveSession(nil)
Pero la función pide un objeto desenvuelto, por lo que "nil" parece no ser un buen parámetro para pasar