2013-05-01 12 views
5

Używam poniższy kod, żeby uzyskać dostęp do Facebooknowe konto Facebook w iOS 6 ustawień

[FBSession openActiveSessionWithAllowLoginUI:TRUE]; 
NSArray *permissions = [[NSArray alloc] initWithObjects: 
         @"email", 
         nil]; 
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:true  
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
    if (error) { 
     NSLog(@"Failure"); 
    } 
    else 
     { 

}]; 

To działa dobrze, gdy użytkownik włączył konta Facebook w ustawieniach iOS, a także gdy nie jest włączony iOS konto ustawienia przechodzą do Safari w celu uwierzytelnienia na Facebooku. Załóżmy jednak, że użytkownik najpierw włączył konto na adres [email protected], a następnie po pewnym czasie dodał nowe konto, np. [email protected] Więc jak aplikacja dowie się, że użytkownik zmienił swoje konto w ustawieniach systemu iOS. Jak to sprawdzić za pomocą facebook SDK. Ktoś ma pomysł?

Dziękuję wszystkim.

Odpowiedz

0

Informacje (token dostępu itp.) Przechowywane w FBSession są całkowicie niezależne od wszelkich innych uprawnień do kont (dotyczy to iOS6, Safari lub aplikacji Facebook). Te inne uprawnienia są używane tylko do łączenia aplikacji, gdy jest ona połączona, Twoja aplikacja działa niezależnie. Oznacza to, że nawet jeśli użytkownik wyloguje się i zaloguje ponownie z innym identyfikatorem, w ogóle nie wpłynie to na twoją aplikację. Użytkownik aplikacji musi proaktywnie wylogować się z aplikacji i zainicjować inne logowanie w celu zmiany konta.

Dlatego niezwykle ważne jest, aby użytkownik mógł się identyfikować wewnątrz aplikacji (za pośrednictwem zdjęcia profilowego i/lub jego nazwy wyświetlanej gdzieś), aby wiedzieć, z którego konta korzystają.

Powiązane problemy