Publique image en Facebook con FBSDK 4.x para iOS

Para el nuevo Facebook SDK 4.x (4.1) for iOS hubo nuevos cambios con los frameworks. Incluye 3 frameworks diferentes como

  • Núcleo
  • Compartiendo
  • Iniciar session.

Para compartir cualquier image que utilicé FBSDKSharePhoto Class. Pero tiene método

 [FBSDKSharePhoto photoWithImage:(*UIImage) userGenerated:(BOOL)] 

Quiero agregar título con la image como cadena y text. ¿Puede alguien ayudarme por esto para que pueda publicar subtítulos con la image utilizando el nuevo sdk de FB.

Gracias por adelantado.

Asigne su cadena de subtítulos a la leyenda Valor de la key

@property (nonatomic, copy) NSString * caption;

Prueba esto :

  FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init]; photo.image = image; photo.userGenerated = YES; photo.caption = @"Add Your caption"; FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init]; content.photos = @[photo]; [FBSDKShareDialog showFromViewController:self withContent:content delegate:nil]; 

Como @NANNAV publicó que funcionará, pero si desea compartir en silencio sin ninguna pantalla de dialog FB, use "shareWithContent" como se muestra a continuación, pero debe enviar su aplicación de Facebook para su revisión.

Código en Obj-c

 FBSDKSharePhoto *sharePhoto = [[FBSDKSharePhoto alloc] init]; sharePhoto.caption = @"Test Caption"; sharePhoto.image = [UIImage imageNamed:@"BGI.jpg"]; FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init]; content.photos = @[sharePhoto]; [FBSDKShareAPI shareWithContent:content delegate:self]; 

Código en Swift

 var sharePhoto = FBSDKSharePhoto() sharePhoto.caption = "Test" sharePhoto.image = UIImage(named: "BGI.jpg") var content = FBSDKSharePhotoContent() content.photos = [sharePhoto] FBSDKShareAPI.shareWithContent(content, delegate: self) 

Agregue el código a continuación para compartir text en Facebook usando Facebook SDK 4.x

  FBSDKGraphRequestConnection *connection =[[FBSDKGraphRequestConnection alloc]init]; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Your_message_here_to_share_FB", @"message", nil]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/feed" parameters:params HTTPMethod:@"POST"]; [connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { if(error){ NSLog(@"Failed to share"); } else{ NSLog(@"Updated successfully"); } }]; 

* Agregue el código siguiente para compartir la foto.

 FBSDKGraphRequestConnection *connection =[[FBSDKGraphRequestConnection alloc]init]; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: image, @"picture", @"Your_text_here",@"message", nil]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/photos" parameters:params HTTPMethod:@"POST"]; [connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { if(result) { NSLog(@"Posting the image is success, the result is%@",result); } else if(error) { NSLog(@"Error occunetworking while posting image %@",error); } }]; [connection start];