ios social-framework

ios - SLServiceTypeFacebook setInitialText no funciona



social-framework (3)

Estoy intentando compartir un texto en Facebook con SLServiceTypeFacebook en IOS 8.3. Pero el cuadro de texto emergente se muestra vacío. Quiero que se muestre con texto en él. Abajo puedes ver el código que uso para eso.

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [controller setInitialText:@"First post from my iPhone app"]; [self presentViewController:controller animated:YES completion:Nil]; }


Antes de setInitialText agregue # antes de esta prueba. Código abajo. Esta trabajando para mi

SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [mySLComposerSheet setInitialText:@"#myInitialTextIsHere"]; [mySLComposerSheet addURL:[NSURL URLWithString:strURL]]; [mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) { switch (result) { case SLComposeViewControllerResultCancelled: NSLog(@"Post Canceled"); break; case SLComposeViewControllerResultDone: NSLog(@"Post Sucessful"); break; default: break; } }]; [self presentViewController:mySLComposerSheet animated:YES completion:nil];


Parece ser un problema haber instalado la última actualización de la aplicación de Facebook (v29). Eliminándolo "arregla" el problema.

https://developers.facebook.com/bugs/1632385646995079/ https://developers.facebook.com/bugs/962985360399542/

Actualización (3 de junio de 2015)

Bien. Parece que la nueva política de Facebook dice que el llenado previo de un mensaje a través de setInitialText: es una violación de llenado previo.

https://developers.facebook.com/docs/apps/review/prefill

Así que supongo que la única forma de compartir contenido a partir de ahora es el FBSDKShareDialog

https://developers.facebook.com/docs/sharing/ios


Tienes que amar las eficiencias de Facebook. Estoy un poco tarde en esto, pero puede ayudar a alguien.

#import <FBSDKShareKit/FBSDKShareKit.h> FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; content.contentURL = self.urlForSocialMedia; content.contentDescription = self.textForFB; content.contentTitle = @"Results."; [FBSDKShareDialog showFromViewController:self withContent:content delegate:self];