Facebook iOS FbDidLogin 未第一次调用

Posted

技术标签:

【中文标题】Facebook iOS FbDidLogin 未第一次调用【英文标题】:Facebook iOS FbDidLogin not called 1st Time 【发布时间】:2011-11-23 12:54:52 【问题描述】:

我有一个奇怪的问题,即我第一次尝试使用 Facebook 应用程序进行授权时没有调用 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,只有第二次尝试。我在 all 尝试的应用程序委托 openURL 方法中正确打印了 Facebook 令牌。

【问题讨论】:

【参考方案1】:

查看this 线程。希望 Facebook 会在教程中解释这一点。花了我半天时间。

【讨论】:

以上是关于Facebook iOS FbDidLogin 未第一次调用的主要内容,如果未能解决你的问题,请参考以下文章

fbDidLogin 的问题从未调用过 iOS

Facebook api ios-sdk,代表不工作,没有调用 fbDidLogin

适用于 iOS 的 Facebook SDK,fbDidLogin 从未在多笔尖应用程序中调用

Facebook fbDidLogin 在 [facebook authorize:permissions] 之后被多次调用

Facebook iOS sdk xcode 4.3/storyboards

iOS:未收到 Facebook 应用邀请