7

我在 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"。它不再是隐含的。

它没有在升级指南中列出,但我确实在“技术指南”中找到了一个关于它的小帮助框。

如果您的应用在向新用户请求权限时未请求 basic_info,您可能会收到开发者警报。在这种情况下,您的应用不符合使用 Facebook 应用原生登录对话框的条件。要停止接收这些警报并利用此对话框,请为所有新用户请求 basic_info,然后访问您的 App Dashboard 的高级设置以启用此迁移:“为 iOS 登录对话框指定 basic_info”。

我在“为 iOS 登录对话框指定 basic_info”的应用设置中没有看到此类迁移。

所以,我的问题:

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

我有一个简单的修复方法(包括@“basic_info”),但正在寻找一个可以让我坚持一周左右的补丁。

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

4

1 回答 1

8

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

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

如果有机会,请向我发送一条 Facebook 消息,其中包含您的应用 ID。

对于您的应用遇到这种情况,我们深表歉意。

谢谢,埃迪

于 2013-06-28T21:05:23.273 回答