J'essaie de partager un texte sur Facebook avec SLServiceTypeFacebook sur IOS 8.3. Mais la zone de texte contextuelle affichée vide. Je veux qu'il soit affiché avec du texte. Ci-dessous, vous pouvez voir le code que j'utilise pour cela.
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"First post from my iPhone app"];
[self presentViewController:controller animated:YES completion:Nil];
}
Il semble y avoir un problème après avoir installé la dernière mise à jour de l'application Facebook (v29). Le supprimer "corrige" le problème.
https://developers.facebook.com/bugs/1632385646995079/https://developers.facebook.com/bugs/962985360399542/
Mise à jour (3 juin 2015)
Bien. Il semble que la nouvelle politique de Facebook indique que le préremplissage d'un message via setInitialText:
est une violation de préremplissage.
https://developers.facebook.com/docs/apps/review/prefill
Donc, je suppose que la seule façon de partager du contenu à partir de maintenant est la FBSDKShareDialog
Je dois aimer l'efficacité de Facebook. Je suis un peu en retard mais peut aider quelqu'un.
#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];
Avant setInitialText, ajoutez #
avant ce test. Code ci-dessous. Ça marche pour moi
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];