Facebook SDK:无法在IOS7上完成操作(com.facebook.sdk错误2)

时间:2014-04-08 09:11:21

标签: facebook-graph-api ios7

我正在开发一个在Facebook上发布状态但我收到此错误的应用: 操作无法完成(com.facebook.sdk错误2) 当被问到是否可以在Facebook上发布帖子时,我已经按下OK了。 在iPhone设置上我已经重置了隐私和位置,虽然我允许发布但我找不到我的应用程序列在" privacy" - > " Facebook和#34;

这是获取权限的代码:

-(void)postOnFacebook
{
if (FBSession.activeSession.isOpen)
    [self postOnWall];
else
{
    [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObjects:@"publish_actions", nil]
                                       defaultAudience:FBSessionDefaultAudienceEveryone
                                          allowLoginUI:YES
                                     completionHandler:^(FBSession *session,
                                                         FBSessionState status,
                                                         NSError *error)
     {
         if (error)
         {
             UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                             message:error.localizedDescription
                                                            delegate:nil
                                                   cancelButtonTitle:@"OK"
                                                   otherButtonTitles:nil];
             [alert show];
         }
         else if (FB_ISSESSIONOPENWITHSTATE(status))
         {
             NSLog(@"Sending post on wall request...");
             [self postOnWall];
         }
     }];
};
}

1 个答案:

答案 0 :(得分:0)

试试这个:

是的,看到此错误后,如果您转到“设置”,您会看到此应用的设置已启用"关闭"。但是在这种情况下的问题是从未提示用户允许访问 - 即在第一次访问时自动将设置变为OFF。如果用户被问到,那当然是可以理解的,但事实并非如此(就好像SDK默默地自动按下Don不允许用户)。这就是为什么这是一个问题。

在您进一步阅读之前,我想要注意的是,一旦设置了设置,您就不能简单地重复该过程来测试它,因为一旦设置了设置,它就永远不会询问用户(甚至删除并重新安装应用程序没有帮助)。要测试此问题,您需要转到设置 - >重置权限。一般 - >重置 - >重置位置&隐私,在您再次尝试复制之前。

通过测试,我发现如果您在首次请求的权限中有offline_access,则会出现此登录错误(并且不会提示用户并将权限设置为OFF)。 SDK不会检查并告诉您不允许此权限;它只是无法登录。