UIActivityTypePostToFacebook 如何发布图像和文本 xcode ios NSDictionary 文本键
Posted
技术标签:
【中文标题】UIActivityTypePostToFacebook 如何发布图像和文本 xcode ios NSDictionary 文本键【英文标题】:UIActivityTypePostToFacebook howto post image and text xcode ios NSDictionary key for text 【发布时间】:2015-05-09 22:21:16 【问题描述】:在我的 CustomActivityItemProvider 中,我得到了自定义 Facebook 共享项目的代码:
@implementation CustomActivityItemProvider
@property(nonatomic,strong) NSString *text;
@property(nonatomic,strong) NSURL *url;
@property(nonatomic,strong) UIImage *image;
- (id)item
if ([self.activityType isEqualToString:UIActivityTypeMessage])
return [NSString stringWithFormat:@"%@\n%@",self.text,self.url];
if ([self.activityType isEqualToString:UIActivityTypePostToFacebook])
//>>>>FACEBOOK
self.url = [NSUrl urlWithString:@"http://www.google.it"];
self.text = @"FaceBookText";
self.image = [UIImage imageNamed:@"imageShare.png"];
NSDictionary *d = [[NSDictionary alloc] initWithObjects:@[self.text,self.image,self.url] forKeys:@[@"text",@"image",@"url"]];
return d;
return @"";
我无法发送图像和文本...我尝试了所有可能的键:“标题”或“文本”或“描述”但没有。我看到了 img,我看到了 url.. 但我没有看到任何文字...谁能解释我做错了什么??
谢谢你!
【问题讨论】:
根据facebook平台政策,不允许预填充任何对话框:developers.facebook.com/docs/apps/review/prefill 你不对。为 fascebook 创建一条消息,xcode 使用本机方法,它们允许在系统对话框上编写文本。奇怪的想法,就像我之前写的那样,是我可以写文字,放一张图片,但是我不能放url和图片……很奇怪!!! 【参考方案1】:您需要为您希望传递给 UIActivityViewController 的每种数据类型子类化 UIActivityItemProvider。您需要 UIActivityItemProvider 的每个子类的原因是为了在使用 initWithPlaceholderItem: 初始化 UIActivityItemProvider 子类时提供特定的数据类型。
因此,在您的示例中,您将拥有一个字符串和一个 UIActivityItemProvider 的图像子类。字符串子类将为其 initWithPlaceholderItem: 返回一个空字符串。图像子类将返回资产目录中的任何图像,因为它是 initWithPlaceholderItem:。
此外,虽然没有记录并且完全令人讨厌,但如果安装了 Facebook 应用程序,Facebook 活动不允许字符串活动项提供程序。即便如此,它似乎也去掉了您发送给它的 URL 和主题标签。
【讨论】:
以上是关于UIActivityTypePostToFacebook 如何发布图像和文本 xcode ios NSDictionary 文本键的主要内容,如果未能解决你的问题,请参考以下文章