iOS: 如何在社交网络上分享文字和图片?
iOS: How to share text and image on social networks?
拜托,如果我做错了,你能告诉我吗?
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];
在运行时,当我 select Facebook 的图标文本丢失时,图像正确显示。
我的 xcode 是 6.3.1,在 iPad.
上测试
Facebook 应用程序的最新更新似乎已将内置的 Facebook 共享 activity 替换为忽略状态文本的共享 - 如果您从设备中删除 Facebook 应用程序,文本将显示为你的代码。如果您安装了 Facebook 应用程序,您将获得图片和 URL,但不会获得文本
Facebook 的政策不允许您预先填充状态消息并要求所有内容都是用户生成的 - 虽然我理解这背后的意图,但我个人认为在很多情况下这有点愚蠢 - 例如我的游戏 我想预先填充用户的分数,但现在我不能,所以用户会看到一个空对话框。我可能会简单地删除 Facebook 共享选项,因为现在没有人会使用它。
来自 Facebook 的 response 确认该行为是设计使然
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];
这是Swift中的答案。它可能对您的问题没有帮助,但可能对寻找此标题的人有所帮助。只需创建一个按钮,它就是动作。并像这样安装按钮的动作。
注意:您必须通过设置登录您的 facebook 或 twitter。那就这样吧
@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)
}
拜托,如果我做错了,你能告诉我吗?
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];
在运行时,当我 select Facebook 的图标文本丢失时,图像正确显示。
我的 xcode 是 6.3.1,在 iPad.
Facebook 应用程序的最新更新似乎已将内置的 Facebook 共享 activity 替换为忽略状态文本的共享 - 如果您从设备中删除 Facebook 应用程序,文本将显示为你的代码。如果您安装了 Facebook 应用程序,您将获得图片和 URL,但不会获得文本
Facebook 的政策不允许您预先填充状态消息并要求所有内容都是用户生成的 - 虽然我理解这背后的意图,但我个人认为在很多情况下这有点愚蠢 - 例如我的游戏 我想预先填充用户的分数,但现在我不能,所以用户会看到一个空对话框。我可能会简单地删除 Facebook 共享选项,因为现在没有人会使用它。
来自 Facebook 的 response 确认该行为是设计使然
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];
这是Swift中的答案。它可能对您的问题没有帮助,但可能对寻找此标题的人有所帮助。只需创建一个按钮,它就是动作。并像这样安装按钮的动作。
注意:您必须通过设置登录您的 facebook 或 twitter。那就这样吧
@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)
}