就像标题中所说的那样,这是一个错误还是真的有可能?我使用[FBSDKAccessToken currentAccessToken].tokenString来检查现有的Facebook会话是否存在,然后再使用[FBSDKProfile currentProfile].userID来获取会话的userId。
但是有时我遇到[FBSDKAccessToken currentAccessToken].tokenString有一个值,但是[FBSDKProfile currentProfile]是nil。

我将此用于我的应用程序的自动登录功能。

感谢您的答复!

所以我有这个代码片段:

    if ([FBSDKAccessToken currentAccessToken].tokenString){
//proceed to auto login since Facebook is still logged in
        NSLog(@"Facebook user id: %@",[FBSDKProfile currentProfile].userID)
    }

该日志的返回为零。

最佳答案

if ([FBSDKAccessToken currentAccessToken].tokenString) {
    [FBSDKProfile enableUpdatesOnAccessTokenChange:YES];
    NSLog(@"Facebook user id: %@",[FBSDKProfile currentProfile].userID);
}

您需要调用[FBSDKProfile enableUpdatesOnAccessTokenChange:YES],以便它自动观察[FBSDKAccessToken currentAccessToken]的变化

07-26 09:43