Facebook iOS FbDidLogin未被称为第一次

时间:2011-11-23 12:54:53

标签: ios login facebook-ios-sdk

我有一个奇怪的问题,我第一次尝试使用Facebook App进行授权时没有调用FBDidLogin。我正在使用GitHub的最新Facebook iOS SDK。

我已在我的App Delegate中实现了这个:

- (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,只有第二次尝试。我正在使用应用委托openURL方法正确打印Facebook令牌以进行所有尝试。

1 个答案:

答案 0 :(得分:1)

查看this个帖子。希望Facebook能在教程中解释这一点。我花了半天时间。