ios - UIActivityTypePostToFacebook 如何发布图像和文本 xcode ios 文本的 NSDictionary 键

标签 ios xcode facebook uiactivityviewcontroller

在我的 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..但是我看不到任何文字...谁能解释我做错了什么??

谢谢!

最佳答案

您需要为每个希望传递给 UIActivityViewController 的数据类型继承 UIActivityItemProvider。您需要 UIActivityItemProvider 的每个子类的原因是在使用 initWithPlaceholderItem: 初始化 UIActivityItemProvider 子类时提供特定的数据类型。

因此,在您的示例中,您将拥有 UIActivityItemProvider 的字符串和图像子类。 string 子类将为其 initWithPlaceholderItem: 返回一个空字符串。图像子类将返回 Assets 目录中的任何图像,因为它是 initWithPlaceholderItem:。

此外,尽管没有记录且非常烦人,但如果安装了 Facebook 应用程序,则 Facebook 事件不允许字符串事件项提供程序。即便如此,它似乎也会删除您发送给它的 URL 和主题标签。

关于ios - UIActivityTypePostToFacebook 如何发布图像和文本 xcode ios 文本的 NSDictionary 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145658/

相关文章:

android - 如何使用 Facebook Graph API 检查 Facebook 页面中的位置

ios - UILabel文本对齐时英语和希伯来语混合为文本吗?

ios - 看不到调试信息 Xcode 6.4?

ios - iPhone6,6+ 未显示在 App Store 的兼容性部分

ios - UITableViewCell 在点击时突出显示

python - 从 Python 访问 Facebook

ios - 运行时的 Swift UITableViewCell 动态单元格高度

ios - UIPickerView 从 UISegmentedControl 更新

ios - project.pbxproj 文件散列 - 使用什么散列以及如何使用?

iphone - Facebook Feed 对话框不断请求许可