3

我花了一天的时间在这上面搜索堆栈溢出,但找不到解决方案。我的代码在 iOS 5.1 和 3.1 上运行没有问题,在 iOS 6.0 上我遇到了问题。

我首先从 Facebook 应用设置中删除该应用以模拟第一次使用的用户。然后我安装应用程序并尝试登录。只要我不从 iOS 设置登录到 Facebook(即我的应用程序不使用增强型身份验证对话框),一切都会正常工作。如果我登录 iOS 设置,我会收到如下错误:

Facebook 登录错误 Error Domain=com.facebook.sdk Code=2 “操作无法完成。(com.facebook.sdk 错误 2。)” UserInfo=0x1dd7d570 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook .sdk:ErrorLoginFailedReason, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=7 “Facebook 服务器无法满足此访问请求:应用程序必须在安装时请求基本读取权限。” UserInfo=0x1ddab400 {NSLocalizedDescription=Facebook 服务器无法完成此访问请求:应用程序必须在安装时请求基本读取权限。}}

我有以下代码

NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_about_me", @"friends_about_me",
                        @"user_birthday", @"friends_birthday",
                        @"user_work_history", @"friends_work_history",
                        @"user_relationships", @"friends_relationships",
                        @"user_notes", @"friends_notes", nil];
return [FBSession openActiveSessionWithReadPermissions:permissions
                                          allowLoginUI:allowLoginUI
                                     completionHandler:^(FBSession *session,
                                                         FBSessionState state,
                                                         NSError *error) {
                                         [self sessionStateChanged:session
                                                             state:state
                                                             error:error];
                                     }];

我发现唯一可行的解​​决方案是更换

openActiveSessionWithReadPermissions

回到已弃用的:

openActiveSessionWithPermissions

4

0 回答 0