Facebook登录失败,在iOS 6上失败

时间:2013-08-03 21:49:43

标签: objective-c facebook ios6 facebook-ios-sdk

当我尝试使用Facebook iOS SDK登录时,我收到错误操作无法完成(com.facebook.sdk错误2)。

会话状态为:FBSessionStateClosedLoginFailed。

这是我现在的代码:

-(void) callFBService{

    NSArray *permissions = [[NSArray alloc] initWithObjects:@"email, publish_stream, user_likes, friends_likes", nil];
    [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES
                              completionHandler:^(FBSession *fbsession,
                                                  FBSessionState status,
                                                  NSError *error) {
          if(error)
          {
              NSLog(@"Session error");
              [self fbResync];
              [NSThread sleepForTimeInterval:0.5];   //half a second
              [FBSession openActiveSessionWithReadPermissions:permissions
                                                 allowLoginUI:YES
                                            completionHandler:^(FBSession *fbsession, FBSessionState status, NSError *error) {
                                                [self sessionStateChanged:fbsession state:status error:error];
                                            }];

          }
          else
              [self sessionStateChanged:fbsession state:status error:error];

     }];
}

我已尝试过以下帖子中的所有内容:

The operation couldn’t be completed. (com.facebook.sdk error 2.) ios6 Facebook Registration : The operation couldn't be completed (com.facebook.sdk error 2) Facebook SDK 3.1 iOS: Handle login if user remove app from Facebook Settings

任何想法???请!

1 个答案:

答案 0 :(得分:2)

您正在使用读取权限传递publish_stream,但publish_stream是写入权限。它也被弃用(改为使用publish_actions)。尝试删除该权限。在您的用户使用读取权限登录后,您需要单独请求该权限。请参阅SDK文档:https://developers.facebook.com/docs/technical-guides/iossdk/login/#read

此外,还有一些事项需要检查:确保Facebook.com上的应用程序配置正确,包括捆绑包ID。确保您尝试登录的用户拥有该应用程序的权限(如果该应用程序处于沙盒模式,请确保将该用户添加为测试人员并批准此用户。)