FBSession openActiveSessionWithReadPermissions不能与在iOS7上输入的系统Facebook帐户一起使用

时间:2014-07-04 01:46:53

标签: ios facebook ios7

我正在运行以下代码来登录facebook:

[FBSession openActiveSessionWithReadPermissions:@[@"public_profile, email, user_friends"]
                                           allowLoginUI:YES
                                      completionHandler:
         ^(FBSession *session, FBSessionState state, NSError *error) {

         NSLog(@"fb token: %@", session.accessTokenData.accessToken);

             if(error) {
                 NSLog(@"error: %@", error);
              }
}];

当iOS没有Facebook帐户时,它可以正常工作。但是,如果帐户绑定到系统,则会导致此错误:

fb token: (null)
error: Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x10eb2b5c0 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginCancelled, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=7 "The operation couldn’t be completed. (com.apple.accounts error 7.)", com.facebook.sdk:ErrorSessionKey=<FBSession: 0x10ec879b0, state: FBSessionStateClosedLoginFailed, loginHandler: 0x0, appID: 448248105305258, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x10eb2ab80>, expirationDate: (null), refreshDate: (null), attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(null)>}
2014-07-03 21:40:53.410 Tag Beta copy[62878:60b]

编辑

将Facebook SDK更新为3.15.1后,它现在只是绕过系统帐户并通过应用进行身份验证。这绝对比每次出错都好,但如果它提出UIAlertView要求用户许可会更好。

应用程序ID位于Facebook帐户的设置页面中,而Facebook帐户未处于沙盒模式。这是facebook帐户的屏幕截图:

enter image description here

非常感谢您解决此错误的任何帮助!

0 个答案:

没有答案