2012-09-23 23 views
13

Estoy tratando de utilizar las nuevas capacidades ACAccountStore en Mac OS X 10.8 para iniciar sesión a través de Facebook pero me da un error:Mac OS X Facebook login ha fallado - no remote_app_id almacenada para aplicación

El servidor de Facebook no podría cumplir esta solicitud de acceso: no se almacenó remote_app_id para la aplicación

Cuando el código ejecuta el mensaje requestAccessToAccountsWithType, me pide acceso a Facebook (lo cual permito) y tengo credenciales de Facebook almacenadas en mi Configuración. También tengo otra ruta de código para versiones heredadas de OS X que inicia sesión en Facebook usando el control WebView. Funciona con el mismo APP_ID. Así que debería tener la aplicación configurada correctamente en la configuración del desarrollador de Facebook. ¿Hay alguna otra configuración que me falta? Busco en Internet "remote_app_id" y obtengo el conjunto vacío.

ACAccountStore *account = [[ACAccountStore alloc] init]; 
    ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; 

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: FB_APP_ID, ACFacebookAppIdKey, [NSArray arrayWithObjects:@"email", nil], ACFacebookPermissionsKey, ACFacebookAudienceFriends, ACFacebookAudienceKey, nil]; 

    [account requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) { 
     if (granted) { 
      NSArray *accountList = [account accountsWithAccountType:accountType]; 

      for (ACAccount *thisAccount in accountList) { 
       NSLog(@"Found account: %@", [thisAccount accountDescription]); 
      } 
     } 
     else { 
      NSLog(@"Not granted because: %@", [error localizedDescription]); 
     } 
    }]; 

nota útil para desarrolladores de iPhone: exponer este problema 100%:

sobre el mismo tema en el iPhone (esta página es la estación principal de Google para eso): La cuestión es la siguiente : en el iPhone, vaya a Configuración, menú izquierdo Facebook, luego a la derecha nombre de usuario/contraseña - inicie sesión en Facebook. Esa es la "Configuración de inicio de sesión de Facebook". Si el iPhone es, de hecho, conectado a FB en la "configuración de inicio de sesión de Facebook", entonces el problema se exhibirá. Si cierra sesión de forma explícita en "Configuración de inicio de sesión en Facebook" (y de hecho, tal vez desinstale la aplicación Facebook), el problema no se mostrará.

Respuesta

33

Parece que usted tiene que fijar paquete de ID de su aplicación para iOS/OSX en la configuración de la aplicación de Facebook (que lo fija en mi caso)

bundleID

+0

Voy a dar que un intento, pero esto no es una aplicación para iOS. ¿Era tuyo? – russwhitney

+0

Lo intenté, pero todavía tiene el mismo comportamiento y mensaje de error. – russwhitney

+0

Disculpe, debería leer más detenidamente :) La mina es una aplicación de iOS, pero de todos modos el mensaje de error es el mismo, por lo que probablemente Facebook esté esperando alguna identificación en algún lugar de la configuración ... Intentaré jugar con eso en OS X – lupatus

3

Ajuste el ID de paquete en la interfaz web de Facebook y se actualizará de inmediato.

Su posición en la interfaz de usuario actualizada desarrollador es el siguiente:

Facebook Bundle ID