it-swarm.com.de

iOS: Wie kann ich Text und Bilder in sozialen Netzwerken teilen?

Kannst du mir bitte sagen, ob ich Fehler mache?

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];

Wenn ich zur Laufzeit das Symbol von Facebook auswähle, fehlt der Text, und das Bild wird korrekt angezeigt.
Mein Xcode ist 6.3.1, getestet auf iPad.

47
user3290180

Es scheint, dass ein kürzlich aktualisiertes Update der Facebook-Anwendung die integrierte Facebook-Share-Aktivität durch eine ersetzt hat, die den Statustext ignoriert. Wenn Sie die Facebook-App von Ihrem Gerät entfernen, wird der Text mit dem von Ihnen verwendeten Code angezeigt. Wenn Sie die Facebook-App installiert haben, erhalten Sie Bilder, URLs, aber nicht den Text

Die Facebook-Richtlinien erlauben es Ihnen nicht, Statusnachrichten vorab aufzufüllen und verlangen, dass alle Inhalte vom Benutzer generiert werden. Ich verstehe zwar die Absicht dahinter, aber ich persönlich denke, dass dies in vielen Fällen ziemlich dumm ist Füllen Sie die Punktzahl des Benutzers vorab aus, aber jetzt kann ich das nicht, daher wird dem Benutzer ein leeres Dialogfeld angezeigt. Ich werde die Facebook-Freigabeoption wahrscheinlich einfach entfernen, da sie jetzt niemand verwenden wird. 

Diese Antwort von Facebook bestätigt, dass das Verhalten beabsichtigt ist

95
Paulw11

Hier ist die Antwort in Swift. Es kann Ihrem Problem nicht helfen, aber es kann hilfreich sein, wenn jemand nach diesem Titel sucht. Erstellen Sie einfach eine Schaltfläche und die Aktion. Und installiere die Aktion der Schaltfläche so. 

Hinweis: Sie müssen sich bei Facebook oder Twitter anmelden, indem Sie zur Einstellung gehen. Dann mach das so.

@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* [email protected]"Hello world";
NSURL *myWebsite = [NSURL URLWithString:@"http://www.website.com/"];
//  UIImage * myImage =[UIImage imageNamed:@"myImage.png"];
NSArray* [email protected][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