web-dev-qa-db-fra.com

iOS: Comment partager du texte et des images sur les réseaux sociaux?

S'il vous plaît, pouvez-vous me dire si je fais des erreurs?

NSString *sharedMsg=[NSString stringWithFormat:@"Hello world"];
UIImage* sharedImg=[UIImage imageNamed:@"image"];
NSArray* sharedObjects=[NSArray arrayWithObjects:sharedMsg, sharedImg, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] 
              initWithActivityItems:sharedObjects applicationActivities:nil];
activityViewController.popoverPresentationController.sourceView = self.view;
[self presentViewController:activityViewController animated:YES completion:nil];

Au moment de l'exécution, lorsque je sélectionne l'icône de Facebook, le texte est manquant, l'image est correctement affichée.
Mon xcode est 6.3.1, testé sur iPad.

47
user3290180

Il semble qu'une récente mise à jour de l'application Facebook ait remplacé l'activité de partage Facebook intégrée par une activité qui ignore le texte du statut. Si vous supprimez l'application Facebook de votre appareil, le texte sera affiché à l'aide du code que vous avez. Si vous avez installé l'application Facebook, vous obtenez des images, des URL mais pas le texte.

Les politiques de Facebook ne vous autorisent pas à pré-renseigner les messages d'état et exigent que tout le contenu soit généré par l'utilisateur - bien que je comprenne l'intention derrière cela, je pense personnellement que c'est un peu stupide dans de nombreux cas - par exemple dans mon jeu, je souhaite pré-remplissez le score de l'utilisateur, mais maintenant je ne peux pas, alors une boîte de dialogue vide est présentée à l'utilisateur. Je vais probablement simplement supprimer l'option de partage sur Facebook, car personne ne l'utilisera jamais maintenant. 

Cette réponse de Facebook confirme que le comportement est voulu

95
Paulw11

Voici la réponse dans Swift. Cela n’aidera peut-être pas votre problème, mais cela pourra être utile si vous recherchez ce titre. Il suffit de créer un bouton et c'est l'action. Et installez l'action du bouton comme ceci. 

Remarque: Vous devez vous connecter à votre facebook ou Twitter en allant à réglage. Alors fais comme ça.

@IBAction func onShareTouched(sender: AnyObject) {

    print("share")

    let myShare = "My beautiful photo! <3 <3"
    let image: UIImage = UIImage(named: "yourImageNameHere")

    let shareVC: UIActivityViewController = UIActivityViewController(activityItems: [(image), myShare], applicationActivities: nil)
    self.presentViewController(shareVC, animated: true, completion: nil)

  }
8
Khuong
NSString* text=@"Hello world";
NSURL *myWebsite = [NSURL URLWithString:@"http://www.website.com/"];
//  UIImage * myImage =[UIImage imageNamed:@"myImage.png"];
NSArray* sharedObjects=@[text,myWebsite];
UIActivityViewController * activityViewController=[[UIActivityViewController alloc]initWithActivityItems:sharedObjects applicationActivities:nil];

activityViewController.popoverPresentationController.sourceView = self.view;
[self presentViewController:activityViewController animated:YES completion:nil];
0
Arpit Lokwani