操作无法完成。 (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将节省了我这么多的时间。