我已添加facebook sdk以访问用户帐户。但是当用户已经通过iOS 6 facebook登录facebook时,然后在我的应用程序的第一页上,它必须显示应用程序要求配置文件权限的警报。为此,我在app delegate
中添加了以下代码[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)应用程序:(UIApplication *)应用程序openURL:(NSURL )url sourceApplication:(NSString )sourceApplication annotation:(id)annotation { return [FBSession.activeSession handleOpenURL:url]; }
我正在收到警报。
但是当我点击“确定”按钮时,它会出现以下错误
FBSDKLog:系统授权失败:'Facebook服务器无法满足此访问请求:remote_app_id与存储的ID不匹配'。这可能是由于开发人员在face.facebook.com/apps上捆绑标识符与服务器上的应用配置不匹配造成的。
但在我的fb开发者帐户中,一切都很好。请帮我解决这个问题。
谢谢!
答案 0 :(得分:9)
您确定在Facebook应用设置中设置了相同的捆绑ID吗?验证的一种好方法是使用此代码将软件包ID打印到控制台,并将其与Facebook上的应用程序设置进行比较:
NSLog(@"Bundle ID: %@",[[NSBundle mainBundle] bundleIdentifier]);
答案 1 :(得分:4)
亲爱的Sudha可能是您的所有服务器尚未确认您的捆绑ID。你必须等待它。
答案 2 :(得分:3)
请注意您的捆绑包ID区分大小写!
答案 3 :(得分:0)
我遇到同样的问题,当我在3.5英寸模拟器中运行我的项目时,它显示相同的错误。它在4英寸模拟器中工作正常。我通过转到我的3.5英寸模拟器设置修复了这个问题,然后我从我的Facebook帐户登出。然后我重新运行它工作的项目。