iOS:如何在社交网络上分享文字和图片?

时间:2015-04-27 08:29:17

标签: ios facebook share uiactivityviewcontroller

拜托,如果我犯错误,你能告诉我吗?

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

在运行时,当我选择Facebook的图标时,文本丢失,图像被正确显示 我的xcode是6.3.1,在iPad上测试过。

3 个答案:

答案 0 :(得分:95)

最近Facebook应用程序的更新已经取代了内置的Facebook共享活动,忽略了状态文本 - 如果您从设备中删除Facebook应用程序,将使用您拥有的代码显示文本。如果您安装了Facebook应用程序,则会获得图像,URL而不是文本

Facebook的政策不允许您预先填充状态消息并要求所有内容都是用户生成的 - 虽然我理解这背后的意图,但我个人认为在许多情况下它有点愚蠢 - 例如,在我的游戏中,我想预先填充用户的分数,但现在我不能,因此会向用户显示一个空对话框。我可能会简单地删除Facebook共享选项,因为现在没有人会使用它。

来自Facebook的response确认行为是设计性的

答案 1 :(得分:8)

以下是Swift的答案。它可能对您的问题没有帮助,但对于寻找此标题的人来说可能会有所帮助。只需创建一个按钮即可。并像这样安装按钮的动作。

注意:您必须通过设置登录您的Facebook或Twitter。然后这样做。

user      game                score
Chris     naruto              10
          dungen              0 
          winning eleven      0
Gale      naruto              0
          dungen              9
          winning eleven      0
Donna     naruto              0
          dungen              0
          winning eleven      8

答案 2 :(得分:0)

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