Objective c 为什么可以';在ios中重新打开会话后,我是否可以访问facebook好友列表

Objective c 为什么可以';在ios中重新打开会话后,我是否可以访问facebook好友列表,objective-c,ios,xcode,facebook,facebook-graph-api,Objective C,Ios,Xcode,Facebook,Facebook Graph Api,我正在升级到适用于ios的facebook 3.0 sdk。事情进展顺利,直到我在重新启动应用程序后尝试打开现有会话。我正在尝试访问facebook用户的好友列表 if ([[FBSession activeSession] isOpen]) { [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { //do something

我正在升级到适用于ios的facebook 3.0 sdk。事情进展顺利,直到我在重新启动应用程序后尝试打开现有会话。我正在尝试访问facebook用户的好友列表

if ([[FBSession activeSession] isOpen]) {
    [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        //do something here
    }];
}else{
    [[self session] openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        if ([self isValid]) {
            [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                //log this error we always get
                NSLog(@"%@",error);
                //do something else
            }];
        }
    }];
}
但是我得到了这个错误:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x1d92ff40 {com.facebook.sdk:ParsedJSONResponseKey={
  body =     {
    error =         {
        code = 2500;
        message = "An active access token must be used to query information about the current user.";
        type = OAuthException;
    };
  };
  code = 400;
}, com.facebook.sdk:HTTPStatusCode=400}

我发现,如果我使用FBSession重新授权方法,它允许我无误地完成请求,但也意味着每次重新启动应用程序时,我必须显示UI或切换应用程序,这是不可接受的。对我应该采取的不同做法有什么建议吗?

登录后,我没有根据请求设置会话。简单的错误

[[self session] openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
    if ([self isValid]) {
        //I should have been doing this
        request.session = [FBSession activeSession];
        [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            //log this error we always get
            NSLog(@"%@",error);
            //do something else
        }];
    }
}];

谢谢,如果没有你的帮助,我永远也不会解决这个问题!:)什么是[自我会话]方法?