今天我开始使用Facebook SDK 3.0 for iOS,我意识到不再有 FBDialog 类了。我搜索了 developers.facebook.com ,了解了如何使用新的sdk显示订阅源对话框。
我们曾经写过:
[facebook dialog:@"feed" andParams:params andDelegate:self];
但是,似乎所有关于对话框的提示都与 developers.facebook.com 中的旧SDK相关。
是否有人使用新SDK实现了Feed对话框?
或者,我们是否应该构建自己的DialogViewController
以将所有UI元素表示为textFields,发送按钮以生成FBRequest?!
答案 0 :(得分:13)
我在这里找到了答案:
Feed Dialog - Facebook Developers
使用相同的新SDK 3.x,我们必须将已弃用的标题添加到框架中:
并改变:
#import <FacebookSDK/FacebookSDK.h>
到
#import "Facebook.h"
编辑(26.02.2013):
感谢Andreas,他在评论中提到,使用新的 SDK 3.2 不再需要包含已弃用的类:
改进的Web对话框支持:此版本增加了对集成的支持 无需调用的Web对话框feed dialog和requests dialog 不推荐使用的标题,使其更清晰,更容易添加对话框 你的应用。
示例:强>
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"", @"name",
@"", @"caption",
@"", @"description",
@"https://website.com/share", @"link",
@"http://website.com/iossdk_logo.png", @"picture",
nil];
[FBWebDialogs presentFeedDialogModallyWithSession:nil
parameters:params
handler:
^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error) {
// Error launching the dialog or publishing a story.
NSLog(@"Error publishing story.");
} else {
if (result == FBWebDialogResultDialogNotCompleted) {
// User clicked the "x" icon
NSLog(@"User canceled story publishing.");
} else {
// Handle the publish feed callback
}
}
}];
答案 1 :(得分:3)
使用Facebook SDK 3.2,您不再需要导入已弃用的标头。可以使用FBWebDialogs类显示基于Web的对话框:
[FBWebDialogs presentFeedDialogModallyWithSession:nil parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
// ...
}];