FB iOS登录 - “应用程序必须在安装时请求basic_info权限。”

时间:2013-06-28 13:16:58

标签: ios facebook-ios-sdk

我在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”的应用设置中看不到此类迁移。

所以,我的问题:

  • 此迁移是否已过期?它曾经存在吗?
  • 在等待新版本获得Apple批准的时候,我能做些什么来解决这个问题?
  • 我有办法暂时强制进行基于网络的身份验证(例如通过Safari)吗?

我有简单的修复(包括@“basic_info”),但是找一个补丁让我抱了一个星期左右。

有趣的是,通过iOS本机FB auth连接的人不会遇到此问题。它仅适用于通过FB原生应用程序连接的人员。

1 个答案:

答案 0 :(得分:8)

我在平台产品团队的FB工作,无需更新您的应用即可帮助您解决此问题。

我们必须修复一个(非常不幸的)错误,它改变了新的本机登录对话框的行为。应用程序需要在权限列表中传递@“basic_info”才能正确显示对话框。对于在此修复之前进入商店的应用,我们可以进行服务器端更改以便为您解决此问题。

如果有机会,请发送带有您的应用ID的Facebook消息。

真诚的道歉,你的应用正在运行。

谢谢, 埃迪