Obtiene el error ACErrorPermissionDenied (código de error 7) para Facebook cuando usa Social Framework

Recibo la ID de count de Facebook del usuario y el nombre usando ACAccountStore .

Cuando aparece una alerta pidiéndole permiso al usuario ("XYZ desea acceder a su feed y perfil de noticias") y el usuario toca "Do not Allow", obtengo el código de error 7, es decir, ACErrorPermissionDenied .

Pero después de eso, si voy a Configuración y enciendo la configuration de Facebook para mi aplicación y regrese a la aplicación, la alerta vuelve a aparecer y el usuario marca "OK", todavía estoy recibiendo el código de error 7 ( ACErrorPermissionDenied ). Por lo tanto, está habilitado en Configuración y he tocado "Aceptar" en la aplicación, pero todavía me está dando este error.

Si la primera vez que permito el acceso y después de que cambie el acceso dentro o fuera de Configuración, me da el error o el éxito adecuado. Este problema ocurre solo si el usuario selecciona "No permitir" la primera vez. Si no lo permite en la aplicación cuando lo solicite, entonces no podrá permitir que FB acceda a mi aplicación.

He probado esto en iOS 6.0 y 6.0.1 usando el siguiente código:

  NSMutableArray *acAccountArray = [[NSMutableArray alloc] init]; ACAccountStore *accountStore = [[ACAccountStore alloc] init]; ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; [accountStore requestAccessToAccountsWithType:accountType options:[self getOptionDictionary:ACAccountTypeIdentifierFacebook permission:[[NSArray alloc]initWithObjects:@"read_stream",@"user_about_me",@"email", nil]] completion:^(BOOL granted, NSError *error) { if(granted) { // Doing what I want } else { NSLog(@"Error: %@", error); } }]; -(NSDictionary *)getOptionDictionary:(NSString * const)accountTypeIdentifier permission:(NSArray*)permissionArray { NSDictionary *options = nil; if (accountTypeIdentifier == ACAccountTypeIdentifierFacebook) { options = @{ @"ACFacebookAppIdKey" : @"dhksadhakjdhkshd", @"ACFacebookPermissionsKey" : permissionArray, @"ACFacebookAudienceKey" : ACFacebookAudienceFriends}; } return options;} 

¿Tu aplicación todavía está en modo "sandbox" en Facebook? En caso afirmativo, solo será visible para administradores y desarrolladores. Si ha iniciado session en Facebook en su dispositivo con un no administrador para su aplicación, es posible que reciba este error. Deshabilitar el modo caja de arena me solucionó el problema.

Esto se debe a que has eliminado tu aplicación en Facebook, incluso estoy enfrentando el mismo problema. Si intenta iniciar session con cualquier método que no sea el inicio de session nativo de iOS, entonces agrega la aplicación de Facebook si no está allí o el usuario lo elimina en la configuration de Facebook, pero actualmente no está sucediendo si intenta iniciar session usando el inicio de session nativo de iOS. Por favor, infórmeme si se encuentra con una solución para este problema y también es su manera de eliminar mi aplicación que figura en la configuration de facebook de iOS en este caso porque si elimino y luego el usuario vuelve a intentar el inicio de session, funciona correctamente.