您好我正在使用ios6进行Facebook登录,并且我将此错误视为原生弹出窗口
无法完成操作。 (com.facebook.sdk错误2.)
这是我使用过的场景。 (我在simularor上运行)
我已通过设置登录到脸书应用程序,我尝试登录我的应用程序并且工作正常。
然后我从设置中退出Facebook并再次使用不同的用户登录。然后我尝试登录该应用程序。我收到了这个错误。
我尝试使用命令
退出应用程序 [FBSession.activeSession closeAndClearTokenInformation];
但没用。
Facebook应用中的捆绑标识符与我的ios应用中的相同。
这是我用来登录的代码
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];
}];
感谢任何帮助。
这是我得到的错误
Domain = com.facebook.sdk Code = 2“无法完成操作。 (com.facebook.sdk错误2.)“UserInfo = 0x9535330 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk:SystemLoginDisallowedWithoutError, com.facebook.sdk:ErrorSessionKey =, expirationDate:(null),refreshDate:(null),attemptsRefreshDate: 0001-12-30 00:00:00 +0000,权限:(null)>}
注意 我在不同的时候得到了同样的错误。那时我的代码中有一个错误
而不是作为
的许可 NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",@"birthday", nil];
我错误地把它作为
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email,birthday", nil];
解 即使在更正代码后,我也遇到了同样的错误。我必须从ios设置屏幕注销并登录facebook。一旦我这样做,正确的代码从未引起任何问题。请注意,问题仅发生在先前执行错误代码的设备上。请注意确定导致问题的原因, 希望这些信息有助于某人
答案 0 :(得分:23)
这对我有用:
这可能发生在任何设备上,因此在您的应用中,您必须确保正确处理此错误。 我估计你向用户提供反馈为何登录Facebook失败并要求用户在他们的设备上检查他们的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;
}
答案 1 :(得分:9)
检查项目的Bundle标识符,并为您的应用程序提供Bundle标识符,该标识符在developer.facebook.com上创建,它们是否相同。
答案 2 :(得分:8)
此错误的另一个可能原因:当Facebook用户未在应用程序的管理员,开发人员或测试人员中列出时,尝试以沙盒模式获取Facebook应用程序的权限。
答案 3 :(得分:3)
我通过在登录时传递nil权限来解决我的问题。
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:
答案 4 :(得分:0)
我有类似的问题。当我从设置中切换fb用户时出现错误。 Facebook authorization fails on iOS6 when switching FB account on device这解决了我的问题
答案 5 :(得分:0)
我遇到了同样的问题,花了一整天的时间才弄明白这个问题。 Facebook SDK的此错误消息非常模糊。由于在MyApplication中覆盖了openURL:方法,我遇到了这个问题。我删除了覆盖的方法,Facebook登录工作正常。
答案 6 :(得分:0)
对我来说问题是无效的权限 - 我要求"生日"而不是" user_birthday"。遗憾的是,错误消息至少是最低限度的描述性 - 只是说"权限无效"而不是ERROR CODE 2会为我节省这么多时间。