我在AppStore中有一个应用程序,调用openActiveSessionWithReadPermission,如下所示:
[FBSession openActiveSessionWithReadPermissions:@[@"email"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
SDK版本为3.5。升级到这个最新版本时,我错过了登录API中的一个关键更改,它需要在readPermissions数组中请求@“basic_info”。它不再是隐含的。
它没有在updgrade guide中列出,但我确实在'Technical Guide'中找到了一个小帮助框来讨论它。
如果您的应用没有请求,您可能会收到开发者提醒 从新用户请求权限时的basic_info。在这种情况下, 您的应用不符合使用Facebook应用本机登录对话框的条件。 要停止接收这些警报并利用此对话框, 请求所有新用户的basic_info然后访问您的应用程序 仪表板的高级设置可启用此迁移:''指定 iOS登录对话框的basic_info''。
我在“为iOS登录对话框指定basic_info”的应用设置中看不到此类迁移。
所以,我的问题:
我有简单的修复(包括@“basic_info”),但是找一个补丁让我抱了一个星期左右。
有趣的是,通过iOS本机FB auth连接的人不会遇到此问题。它仅适用于通过FB原生应用程序连接的人员。
答案 0 :(得分:8)
我在平台产品团队的FB工作,无需更新您的应用即可帮助您解决此问题。
我们必须修复一个(非常不幸的)错误,它改变了新的本机登录对话框的行为。应用程序需要在权限列表中传递@“basic_info”才能正确显示对话框。对于在此修复之前进入商店的应用,我们可以进行服务器端更改以便为您解决此问题。
如果有机会,请发送带有您的应用ID的Facebook消息。
真诚的道歉,你的应用正在运行。
谢谢, 埃迪