iPhone 上的 Facebook 登录错误

Facebook login error on iPhone

当我尝试使用 iphone 应用程序访问 facebook 时,出现以下错误。

Facebook 服务器无法满足此访问请求:代理应用无法在未安装的情况下请求发布权限。

我该如何解决这个问题?

这是我的代码。

(IBAction)btnLogin_Action:(id)sender
{

if (FBSession.activeSession.state == FBSessionStateOpen
        || FBSession.activeSession.state == FBSessionStateOpenTokenExtended) {
    [FBSession.activeSession closeAndClearTokenInformation];
}
else
{
     [FBSession openActiveSessionWithReadPermissions:@[@"public_profile",@"user_birthday", @"email"]
                                           allowLoginUI:YES
                                      completionHandler:
         ^(FBSession *session, FBSessionState state, NSError *error) {

         [self sessionStateChanged:session state:state error:error];
     }];
}
}


(void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error
{

if (!error && state == FBSessionStateOpen){
    [self userLoggedIn];
    return;
}

if (error)
{
    NSString *alertText, *alertTitle;

    if ([FBErrorUtility shouldNotifyUserForError:error] == YES)
    {
        alertTitle = @"Something went wrong";
        alertText = [FBErrorUtility userMessageForError:error];
        [self showMessage:alertText withTitle:alertTitle];
    }
    else
    {
        if ([FBErrorUtility errorCategoryForError:error] == FBErrorCategoryUserCancelled)
        {
        }
        else if ([FBErrorUtility errorCategoryForError:error] == FBErrorCategoryAuthenticationReopenSession)
        {
            alertTitle = @"Session Error";
            alertText = @"Your current session is no longer valid. Please log in again.";
            [self showMessage:alertText withTitle:alertTitle];
        }
        else
        {
            NSDictionary *errorInformation = [[[error.userInfo objectForKey:@"com.facebook.sdk:ParsedJSONResponseKey"] objectForKey:@"body"] objectForKey:@"error"];
            alertTitle = @"Something went wrong";
            alertText = [NSString stringWithFormat:@"Please retry. \n\n If the problem persists contact us and mention this error code: %@", [errorInformation objectForKey:@"message"]];
            [self showMessage:alertText withTitle:alertTitle];
        }
    }

    [FBSession.activeSession closeAndClearTokenInformation];
}
}

根据我的经验,要解决此问题,请完成 Facebook 的 iOS SDK 设置并确保您拥有他们告诉您的所有信息,包括捆绑包标识符、Facebook 应用程序 ID 等。还要确保您的应用程序捆绑了 Facebook SDK 框架和依赖框架。

如果您正确执行此操作,您的应用应该可以运行。

祝你好运。