SLComposeViewController setInitialText ne s'affiche pas dans View

J'essaie d'utiliser le SLComposeViewController pour partager un lien dans mon application iOS.

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [controller setInitialText:@"Here's the link I promised:"]; [controller addURL:[NSURL URLWithSsortingng:@"http://www.url.com"]]; [self presentViewController:controller animated:YES completion:nil]; 

Lorsque le controller présente, il n'y a pas de text dans la zone de saisie. Vous pouvez append du text et l'envoyer correctement (l'URL s'affiche également dans la publication).

Je viens d'installer FacebookSDK 4.01 et c'est une application iOS 7/8.

Des idées sur les raisons pour lesquelles le text initial n'apparaît pas. J'ai même essayé de le faire sans l'URL et juste faire du text, mais rien.

Note supplémentaire : Si je supprime l'addURL, alors l'application se bloque quand je touche "Post" et le message n'est jamais envoyé.

Merci pour toute aide!!!

J'ai trouvé une bonne façon de contourner ce problème, ce qui donne toujours le contrôle à l'user.

Pour Facebook seulement, juste avant de présenter le SLComposerViewController, je montre une alerte auto-rejetée (avec un rejet de 6 secondes si OK n'était pas tapé). Cette alerte contiendra "Ecrire à vos amis sur la façon dont vous avez joué! \ N \ nVous pouvez simplement coller pour un message prédéfini.".

Juste après avoir affiché l'alerte, j'utilise ensuite ce qui suit pour publier un message prédéfini sur l'UIPasteboard:

  UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.ssortingng = msg; 

Alors, le SLComposeViewController est présenté et une vue d'alerte juste au-dessus. Une fois que l'user rejette la vue d'alerte (ou 6 secondes passe et il se retire), que l'user a la possibilité de simplement coller, directement dans le text du message, votre message prédéfini. Ou non, c'est la beauté de tout ça.

J'espère que cela aidera d'autres personnes à contourner ce que FB a décidé de faire soudainement. Je n'ai même pas réalisé qu'il était contre la politique d'utiliser la méthode setInitialText pour FB.

À votre santé.

Ce comportement est destiné. Voir aussi ce rapport de bug: https://developers.facebook.com/bugs/962985360399542/ . Comme le mentionne @WizKid, il est contraire à la politique de pré-remplir le text. Jusqu'à récemment, vous pouviez toujours le faire (en violant la politique) mais maintenant cela est effectivement appliqué.

Il n'y a rien que vous puissiez faire pour cela de votre côté; c'est une application de la politique par Facebook.

En outre, connexe Rdar: http://openradar.appspot.com/20709403