Zaimplementowałem przycisk logowania na Facebooku, który działa doskonale. Jednak po pomyślnym zalogowaniu użytkownika na Facebooku i powrocie do aplikacji, [FBSDKAccessToken currentAccessToken]
zwraca NO
. Dodałem obserwatora, czy kod Chcę działa po powrocie z powrotem do aplikacji:FBSDKAccessToken currentAccessToken nie jest aktualizowany po zalogowaniu
-(void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn)name :UIApplicationWillEnterForegroundNotification object:nil];
}
-(void)checkLogIn
{
NSLog(@"IN CHECK LOG IN");
if ([FBSDKAccessToken currentAccessToken]) {
NSLog(@"Access Token Activated");
}
}
I po zalogowaniu kiedy wrócę do aplikacji metodą checkLogIn
jest nazywany ale [FBSDKAccessToken currentAccessToken]
wciąż powraca NO
. Zmienia się jednak na TAK po naciśnięciu przycisku home na telefonie iPhone i powrocie do aplikacji.
Jak można go natychmiast zaktualizować, aby móc wyświetlić użytkownikowi inny kontroler widoku?
AKTUALIZACJA: Po powrocie do aplikacji dowiedziałem się, jak wykonać właściwy kod. Kluczem jest użycie FBSDKAccessTokenDidChangeNotification
w Centrum powiadomień. Ostateczny wynik będzie następujący:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkLogIn) name: FBSDKAccessTokenDidChangeNotification object:nil];
Ten sposób token zostanie zaktualizowany i będzie działał.
@smartTree Można również sprawdzić ten post http://stackoverflow.com/questions/30042905/what-is-the-expected-behaviour-of-facebook-login/30046216#30046216 –
mam cały ten kod zaimplementowany w delegacie aplikacji. Wciąż ten sam problem. – SmartTree
Znaleziono rozwiązanie, zaktualizowano odpowiedź. – SmartTree