FBDialogs似乎是分享照片的好方法,因为它不需要用户身份验证和应用程序属性。 iOS 6本机共享表看起来不错,但我们的一些用户只安装了Facebook应用程序,并且没有在操作系统设置中配置Facebook。我想使用FBDialogs然后回到共享表。不幸的是,我无法找到一种方法来完成这项看似简单的工作。所有 OpenGraphAction 函数都需要一个URL来生成预览文本。是否有可能使其像iOS共享表一样工作?我想附加一个本地图像,设置初始文本然后让用户键入任何内容并按上传。
答案 0 :(得分:0)
您最有可能使用[FBDialogs presentShareDialogWihtParams ..],它只接受指向图像的链接。如果要与FBDialog共享本地图像,则必须使用[FBDialogs presentShareDialogWithOpenGraphAciton ..],其中action对象引用本地图像。请记住,此API需要在Facebook开发人员门户中配置一个开放的图形故事,因此当帖子显示在Facebook上时,它将采用“用户动词名词”的形式。
查看Facebook docs,其中讨论了本地Facebook应用程序中可以呈现的不同类型的对话框。以下示例是从Facebook文档
复制的// only supports passing a single image
NSArray* images = @[@{@"url": [UIImage imageNamed:@"my-awesome-meal-photo.jpg"], @"user_generated" : @"true"}];
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
[action setObject:@"https://example.com/cooking-app/meal/Lamb-Vindaloo.html" forKey:@"meal"];
[action setObject:images forKey:@"image"];
[FBDialogs presentShareDialogWithOpenGraphAction:action
actionType:@"fbsdktoolkit:cook"
previewPropertyName:@"meal"
handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
if(error) {
NSLog(@"Error: %@", error.description);
} else {
NSLog(@"Success!");
}
}];