Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 用于ios单例实现的新facebook sdk_Objective C_Ios_Facebook_Ios4 - Fatal编程技术网

Objective c 用于ios单例实现的新facebook sdk

Objective c 用于ios单例实现的新facebook sdk,objective-c,ios,facebook,ios4,Objective C,Ios,Facebook,Ios4,我已经更新了新的FacebookSDK(3.1),并尝试将其集成到我以前使用的singleton类中。我的代码: -(void)postFacebook { if ([FBSession.activeSession isOpen]) { [[AAFacebook sharedInstance] postToWallWithScreenshot]; } else { [[AAFacebook sharedInstance] openSessionWi

我已经更新了新的FacebookSDK(3.1),并尝试将其集成到我以前使用的singleton类中。我的代码:

-(void)postFacebook {
    if ([FBSession.activeSession isOpen]) {
        [[AAFacebook sharedInstance] postToWallWithScreenshot];
    } else {
        [[AAFacebook sharedInstance] openSessionWithAllowLoginUI:YES];
    }
}
以及公开会议方法:

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {

    return [FBSession openActiveSessionWithReadPermissions:nil
                                              allowLoginUI:allowLoginUI
                                         completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                             [self sessionStateChanged:session state:state error:error];
                                         }];
}



- (void)sessionStateChanged:(FBSession *)session
                      state:(FBSessionState)state
                      error:(NSError *)error
{
    NSLog(@"Is FBSession opened? A: %i", FBSession.activeSession.isOpen);

    switch (state) {

        case FBSessionStateOpen: {

            NSLog(@"Login succesfully & post to FaceBook!");

        }
            break;
        case FBSessionStateClosed: {
            [FBSession.activeSession closeAndClearTokenInformation];
        }
            break;
        case FBSessionStateClosedLoginFailed: {
            NSLog(@"FaceBook login failed.");
        }
            break;

        default:
            break;
    }

    [[NSNotificationCenter defaultCenter] postNotificationName:kAAFacebookNoficationChanged
                                                        object:session];

}
现在,如果我第二次尝试共享,我会遇到以下错误:

2013-01-07 10:28:26.894[2098:907] Error: HTTP status code: 400
2013-01-07 10:28:26.904[2098:907] Photo uploaded failed :( {
    "com.facebook.sdk:HTTPStatusCode" = 400;
    "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;
    };
}

你知道如何处理访问令牌吗?

我终于知道了。似乎FB SDK为我处理会话令牌