我在 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 原生应用程序连接的人。