Facebook iOS SDK 3.x提要对话框消失了吗?

时间:2012-08-25 12:47:10

标签: ios facebook facebook-graph-api facebook-ios-sdk

今天我开始使用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?!

2 个答案:

答案 0 :(得分:13)

我在这里找到了答案:
Feed Dialog - Facebook Developers

使用相同的新SDK 3.x,我们必须将已弃用的标题添加到框架中:

enter image description here

enter image description here

 并改变:

#import <FacebookSDK/FacebookSDK.h>

#import "Facebook.h"


编辑(26.02.2013):

感谢Andreas,他在评论中提到,使用新的 SDK 3.2 不再需要包含已弃用的类:

  

改进的Web对话框支持:此版本增加了对集成的支持   无需调用的Web对话框feed dialogrequests 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) {
    // ...
}];