操作无法完成。 (com.facebook.sdk错误2.)ios6

您好我正在使用ios6的Facebooklogin,我得到这个错误为本机popup

操作无法完成。 (com.facebook.sdk错误2)

这是使用的情景。 ( 我在simularor上运行这个

我已经通过设置login到Facebook应用程序,我试图login到我的应用程序,它的工作正常。

然后,我从设置中注销了Facebook,并以不同的用户再次login。 然后我试图login到应用程序。 我得到这个错误。

我尝试使用该命令注销应用程序

[FBSession.activeSession closeAndClearTokenInformation];

但没用。

Facebook应用程序中的包标识符与我的iOS应用程序中的相同。

这是我用来login的代码

 NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil]; [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler: ^(FBSession *session, FBSessionState state, NSError *error) { [self sessionStateChanged:session state:state error:error]; }]; 

任何帮助表示赞赏。

这是我得到的错误

(com.facebook.sdk错误2.)“UserInfo = 0x9535330 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk:SystemLoginDisallowedWithoutError, com.facebook.sdk:ErrorSessionKey =,expirationDate:(null),refreshDate:(null),attemptedRefreshDate:0001-12-30 00:00:00 +0000,permissions:(null)>}

注意我在另一个事件中得到了同样的错误。 那时候,这是我的代码中的一个错误

而不是作为许可

NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",@"birthday", nil];

我错误地这样做

NSArray *permissions = [[NSArray alloc] initWithObjects:@"email,birthday", nil];

解决方法即使纠正了代码后,我也遇到了同样的错误。 我必须注销并从ios设置屏幕loginFacebook。 一旦我这样做了正确的代码从来没有造成任何问题。 请注意,问题只出现在以前执行错误代码的设备上。 注意确定是什么导致了这个问题,希望这个信息有助于某人

这对我工作:

  • 转到您的iPhone的设置应用程序。
  • 打开你的Facebook设置
  • 向下滚动到您的应用程序,并确保您的应用程序允许Facebook的交互。

这可能发生在任何设备上,因此在你的应用程序中,你将不得不确保正确处理这个错误。 我认为你给用户反馈为什么用Facebooklogin失败,并要求用户检查他们的设备上的Facebook设置。

  - (void)facebookSessionStateChanged:(FBSession *)session state:(FBSessionState)state error:(NSError *)error { switch (state) { case FBSessionStateOpen: // handle successful login here case FBSessionStateClosed: case FBSessionStateClosedLoginFailed: [FBSession.activeSession closeAndClearTokenInformation]; if (error) { // handle error here, for example by showing an alert to the user UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Could not login with Facebook" message:@"Facebook login failed. Please check your Facebook settings on your phone." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; } break; default: break; } 

检查你的项目的Bundle标识符,并给你的应用程序提供Bundle标识符,在developer.facebook.com上创build它们是否相同。

导致此错误的另一个潜在原因:当Facebook用户未列入应用程序的pipe理员,开发人员或testing人员时,试图以沙箱模式获取Facebook应用程序的权限。

我通过login时通过零权限解决我的问题。

 [FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler: 

我有一个类似的问题。 当我从设置切换fb用户时出现错误。 在iOS设备上切换FB帐户时,iOS授权失败解决了我的问题

我有同样的问题,花了一整天的时间来找出问题。 Facebook SDK的这个错误信息非常模糊。 由于在MyApplication中openURL:方法被覆盖,所以我遇到了这个问题。 我删除了覆盖的方法和Facebooklogin工作正常。

对我来说问题是无效的权限 – 我要求“生日”,而不是“user_birthday”。 这是一个耻辱的错误信息是不是至less最低限度的描述 – 只是说“权限无效”,而不是错误代码2将节省了我这么多的时间。