Facebook SDK 4.0: Cómo publicar publish_actions

Estoy usando FBSDKLoginButton para iniciar session a través de Facebook en mi aplicación. Bueno, defino las readPermissions como;

NSArray *permissions = [NSArray arrayWithObjects:@"public_profile", @"email",nil]; self.loginFbBtn.readPermissions = permissions; 

Lo anterior va muy bien. Pero ahora si necesito solicitar permissions para una publicación en mi línea de time y quiero tener acceso a los permissions de " publish_actions ", ¿hay alguna manera de preguntarlos sin realmente provocar FBSDKLoginManager , porque esa es la única manera que se da en los documentos de Facebook :

 if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) { // TODO: publish content. } else { FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init]; [loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { //TODO: process error or result. }]; } 

Al parecer, esta es la única forma en que puede invocar " publish_actions " para su aplicación. Quiero usarlo sin el FBSDKLoginManager . Por favor, ayuda, tengo que hacer rodar esto.

ASÍ QUE ESTA ES LA ACTUALIZACIÓN:

Con la ayuda de Wizkid y MingLi , terminé implementándolo a través de FBSDKLoginManager y los siguientes segmentos de código son para iniciar session en Facebook mediante un button personalizado y su @selector(facebookLogin) , y luego compartir los permissions invocados cuando se requiere compartir mediante el método getSharingPermissions :

 -(void) facebookLogin { @try { self.loginManager = [[FBSDKLoginManager alloc] init]; [self.loginManager setLoginBehavior:FBSDKLoginBehaviorWeb]; [self.loginManager logInWithReadPermissions:@[@"public_profile",@"email"] handler:^(FBSDKLoginManagerLoginResult *result,NSError *error) { if([FBSDKAccessToken currentAccessToken]) { [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { if (!error) { NSLog(@"fetched user:%@", result); NSDictionary *userDict = (NSDictionary*)result; } }]; }}]; } } @catch (NSException *exception) { NSLog(@"Exception %@", exception); } 

Obtenga permissions para compartir:

 -(void)getSharePermissions { if (![[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) { [self.loginManager setLoginBehavior:FBSDKLoginBehaviorWeb]; [self.loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { if ([result.grantedPermissions containsObject:@"publish_actions"]) { }}]; } } 

Entonces, el error es que estoy recibiendo la página de inicio de session nuevamente y pregunto nuevamente a las cnetworkingenciales de usuario cuando se getSharingPermissions . Por favor ayuda. Gracias por adelantado.