Facebook SDK 3.1 - 分享图片
Posted
技术标签:
【中文标题】Facebook SDK 3.1 - 分享图片【英文标题】:Facebook SDK 3.1 - share image 【发布时间】:2012-10-15 13:54:58 【问题描述】:我必须在我的 ios 应用程序中集成 FB SDK 3.1。
我成功在墙上分享了一张图片,但我无法设置“通过 [appname]”(默认情况下需要“通过 ios”)。我已经在 info.plist 文件中放入了 appid 值。
我也无法为 ios5 进行共享(它回复错误 400)。
下面是我使用的代码:
- (void)viewDidLoad
appDelegate = [[UIApplication sharedApplication]delegate];
if (!appDelegate.session.isOpen)
appDelegate.session = [[FBSession alloc] init];
if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded)
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
];
当我必须分享时,我会调用这个方法:
- (IBAction)fbShare:(id)sender
if (appDelegate.session.isOpen)
BOOL displayedNativeDialog = [FBNativeDialogs presentShareDialogModallyFrom:self
initialText:textView.text
image:img
url:nil
handler:nil];
if (!displayedNativeDialog)
[self performPublishAction:^
[FBRequestConnection startForUploadPhoto:img
completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
];
];
else
if (appDelegate.session.state != FBSessionStateCreated)
appDelegate.session = [[FBSession alloc] init];
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
];
- (void) performPublishAction:(void (^)(void)) action
if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound)
[FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error)
if (!error)
action();
else
];
else
action();
有什么提示吗?
非常感谢,
艾丽卡
【问题讨论】:
看起来这还不可能facebook.***.com/questions/12801424/… 【参考方案1】:我成功在墙上分享了一张图片,但我无法设置“通过 [appname]”(默认情况下需要“通过 ios”)。我已经在 info.plist 文件中放入了 appid 值。
您很可能没有设置 Facebook 应用名称。我建议查看https://developers.facebook.com/apps 管理面板
【讨论】:
感谢 Nazar 的提示,但 Facebook 部分的填写方式正确!以上是关于Facebook SDK 3.1 - 分享图片的主要内容,如果未能解决你的问题,请参考以下文章