Facebook iOS FbDidLogin не вызывается в первый раз

У меня странная проблема, когда FBDidLogin не вызывается при первой попытке авторизации в приложении Facebook. Я использую последнюю версию Facebook iOS SDK от GitHub.

Я реализовал это в своем делегате приложения:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

    return [[[SocialClass sharedSingleton] facebook] handleOpenURL:url];  
}

и инициализация моего SocialClass:

facebook = [[Facebook alloc] initWithAppId:@"0000001234" andDelegate: self];
facebook.accessToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"FBExpirationDateKey"];    

и мой метод didlogin в социальном классе:

- (void)fbDidLogin {
    NSLog(@"facebook logged in");

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];

    // now let's grab the user info
    if(getFriends == YES)
    {
        [self getFacebookFriends];
    }
    else
        [self getUserInfo];
}

Итак, еще раз, моя проблема в том, что самая первая попытка авторизации не запускает fbDidLogin, только вторая попытка. Я правильно печатаю токен Facebook в методе делегата приложения openURL для всех попыток.


person Ngoan Nguyen    schedule 23.11.2011    source источник


Ответы (1)


Ознакомьтесь с этой веткой. Хотелось бы, чтобы Facebook объяснил это в учебнике. Стоил мне полдня.

person MindSpiker    schedule 25.02.2012