使用presentShareDialogWithLink
或Open Graph
其他东西,(如何)可以在没有登录会话(即使用快速应用程序切换)的情况下在网络上发布大缩略图?即,官方片段不会在网络上显示大缩略图(如下所示)。
[FBDialogs presentShareDialogWithLink:[NSURL URLWithString:@"http://example.com/"]
name:@"name"
caption:nil
description:@"description"
picture:[NSURL URLWithString:linkToAnImage]
clientState:nil
handler:^(FBAppCall *call, NSDictionary *results, NSError *error)
{}];
如下所示,该片段确实在 iOS 应用程序中显示了大缩略图,但相同的共享在网络上仅显示为左侧的旧/小缩略图。图像的分辨率为 2048 x 1072。
- 网络
- 苹果手机
- iPad
有点相关的问题:Feed 对话框不发布大图像
使用 Open Graph 的另一次尝试
在Facebook > Apps > Open Graph >
我创建了(1) share
under> Action Types
和(2) link
under > Object Types
。然后,使用下面的代码片段,我确实得到了快速切换到 Facebook-iOS 应用程序,但是共享对话框很快消失并且右上角的Post
按钮被禁用(类似于这个问题)。Facebook 仪表板仍显示(1) share
带有蓝色标记Unapproved
状态的操作类型,如果这在测试时有所不同。
id object = [FBGraphObject openGraphObjectForPostWithType:[NSString stringWithFormat:@"%@:link", FBAppNamespace]
title:@"name"
image:@"http://link.com/to/an/image.jpg"
url:@"http://appstore.com/keynote"
description:@"description"];
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
action[@"link"] = object;
FBOpenGraphActionShareDialogParams* params = [FBOpenGraphActionShareDialogParams new];
params.action = action;
params.actionType = [NSString stringWithFormat:@"%@:share", FBAppNamespace];
[FBDialogs presentShareDialogWithOpenGraphAction:params.action
actionType:params.actionType
previewPropertyName:@"link"
handler:nil];