Facebook iOS FbDidLogin не вызывается в первый раз - PullRequest
0 голосов
/ 23 ноября 2011

У меня странная проблема, когда FBDidLogin не вызывается при первой попытке авторизации в приложении Facebook. Я использую последний iOS 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"];    

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

- (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 для всех попыток.

1 Ответ

1 голос
/ 25 февраля 2012

Проверить эту тему.Хотелось бы, чтобы Facebook объяснил это в уроке.Обошлось мне полдня.

...