的iOS 6的Facebook SDK 3.1.1登录错误

问题描述:

我尝试使用Facebook的登录,随后Facebook的教程https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/来实现,但要求我允许我的应用程序使用您的数据,然后按确定错误的iOS 6的Facebook SDK 3.1.1登录错误

警报视图后操作无法完成。 (com.facebook.sdk错误2)

请注意,iam在simulatore和我进入FB我的帐户里面的设置,它被记录正确。

调试的问题,它和错误的结果如下:

(NSError *)$ 1 = 0x0ac77290错误域= com.facebook.sdk代码= 2“的操作无法完成(com.facebook.sdk error 2.)“UserInfo = 0xac77450 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk:ErrorLoginFailedReason,com.facebook.sdk:ErrorInnerErrorKey = Error Domain = com.apple.accounts Code = 7“Facebook服务器无法满足此访问请求:没有存储remote_app_id for app”UserInfo = 0xaa91d40 {NSLocalizedDescription = Facebook服务器无法完成此访问请求:没有存储remote_app_id for app}}

您需要提供您的应用程序软件包ID在应用程序设置上developers.facebook.com

iOS 6 Facebook posting procedure ends up with "remote_app_id does not match stored id"

+0

我有一个类似的问题。当我将fb用户从设置切换时出现错误。 http://*.com/questions/12838118/facebook-authorization-fails-on-ios6-when-switching-fb-account-on-device这解决了我的问题 –

它为我登出从设备设置的Facebook之后。

+2

这是更多的解决方法!如果您从设置中注销您的FB,则它会遵循不同的流程(打开浏览器)。当用户使用该应用程序时,他不会退出其设置以使其适用于您的应用程序。 – Dev

在使用fb sdk的ios 6中3.1.1。请在“[FBSessio openActiveSessionWithReadPermissions ...”方法中将权限参数传递为“无或电子邮件”。在这里,我的代码很棒。

#define IOS_NEWER_OR_EQUAL_TO_6 ([ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] >= 6.0) 

-(void)showFBLogin 
{ 
    [FBSession.activeSession closeAndClearTokenInformation]; 

    NSArray *permissions = [NSArray arrayWithObjects:@"email, publish_actions, publish_stream", nil]; 

#ifdef IOS_NEWER_OR_EQUAL_TO_6 
    permissions = nil; or NSArray *permissions = [NSArray arrayWithObjects:@"email",nil]; 
#endif 

    NSLog(@"\npermissions = %@", permissions); 
    [FBSession openActiveSessionWithReadPermissions:permissions 
             allowLoginUI:YES 
            completionHandler: 
    ^(FBSession *session, 
     FBSessionState state, NSError *error) { 
     NSLog(@"\nfb sdk error = %@", error); 
     switch (state) { 
      case FBSessionStateOpen: 
       [[FBRequest requestForMe] startWithCompletionHandler: 
        ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { 
         if (!error) { 
          //success 
         } 
        }]; 
       break; 
      case FBSessionStateClosed: 
       //need to handle 
       break; 
      case FBSessionStateClosedLoginFailed: 
       //need to handle 
       break; 
      default: 
       break; 
     } 
    }]; 
} 

这种错误可以来到这个原因所致: -

  1. 可能是你的包ID是在 developers.facebook.com/aaps

  2. 你是不同的可能没有给予您的应用程序正确的权限。

  3. 您在您的iphone facebook设置中未启用Facebook应用程序。

请按照以下链接

Facebook Registration : The operation couldn't be completed (com.facebook.sdk error 2)

给我希望这将清除所有的疑问。

这工作对我来说:

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