2

我添加了用于访问用户帐户的 facebook sdk。但是,当用户已经通过 iOS 6 facebook 登录 facebook 时,在我的应用程序的第一页中,它必须显示应用程序正在请求配置文件权限的警报。为此,我在应用程序委托中添加了以下代码

[FBSession openActiveSessionWithAllowLoginUI:true];

NSArray *permissions = [NSArray arrayWithObjects:
                        @"friends_about_me",nil];
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:true  
 completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
    if (error) {
        NSLog(@"Failure");
    }
}];

return YES;

}

-(BOOL)application:(UIApplication *)application openURL:(NSURL )url sourceApplication:(NSString ) sourceApplication注解:(id)annotation { return [FBSession.activeSession handleOpenURL:url]; }

我得到了正确的警报。在此处输入图像描述

但是当我点击确定按钮时,它给了我以下错误

FBSDKLog:系统授权失败:“Facebook 服务器无法完成此访问请求:remote_app_id 与存储的 id 不匹配”。这可能是由于 bundle 标识符与您在 developers.facebook.com/apps 上的服务器上的应用程序配置不匹配造成的。

但在我的 fb 开发者帐户中,一切都很好。请帮我解决这个问题。

谢谢!

4

4 回答 4

9

您确定在 Facebook 应用设置中设置了相同的捆绑 ID 吗?验证的一个好方法是使用此代码将捆绑 ID 打印到控制台,并将其与 Facebook 上的应用设置进行比较:

NSLog(@"Bundle ID: %@",[[NSBundle mainBundle] bundleIdentifier]);
于 2013-04-23T20:41:27.273 回答
4

亲爱的 Sudha,您的捆绑包 ID 可能尚未从 facebook 的所有服务器确认。你必须等待它。

于 2013-04-24T07:02:42.257 回答
3

请注意,您的捆绑包 ID 区分大小写!

于 2013-04-24T10:04:01.997 回答
0

当我在 3.5 英寸模拟器中运行我的项目时,我遇到了同样的问题,它显示了同样的错误。它在 4 英寸模拟器中运行良好。我通过转到我的 3.5 英寸模拟器设置解决了这个问题,然后我从我的 Facebook 帐户中注销。然后我重新运行它工作的项目。

于 2014-03-03T13:34:42.067 回答