每次点击Facebook登录按钮时,无论您是否刚刚在之前的登录尝试中接受了这些权限,都会要求您接受读取权限。您可以接受读取权限并返回应用程序,仅退出,登录,并显示读取权限以便再次接受。
此问题在3.5,3.5.1或新3.5.2之前不存在。由于这个问题,我的应用程序停留在sdk(3.2.1)的v3.5之前版本的最新版本。
对我来说,这听起来像是facebook sdk / app中的一个错误,但当我提交此错误报告时,它被标记为“分类/低优先级”,并附上以下注释:“感谢您的报告。我们优先考虑目前还有其他报道。你可能想查看http://facebook.stackoverflow.com/“所以我在这里。
断言它是facebook服务器端的事情背后的逻辑是我们正在向facebook发送一个auth请求。它们在facebook领域内,他们决定你拥有哪些权限但尚未接受。怎么可能是我身边的错?告诉facebook他们自己的用户已经接受了什么,这不是开发人员的工作。下面是“登录Facebook”按钮后面的代码触摸事件:
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
if (appDelegate.session.state != FBSessionStateCreated) {
appDelegate.session = [[FBSession alloc] initWithPermissions:permissions];
}
[appDelegate.session openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if([appDelegate.session isOpen]) {
//login ui flow finished here
}
}];
有人有任何想法吗?