【问题标题】:Facebook iOS SDK 3.x feed dialog is gone?Facebook iOS SDK 3.x 提要对话框不见了?
【发布时间】:2012-08-20 18:25:08
【问题描述】:

今天我开始使用Facebook SDK 3.0 for iOS,我意识到没有FBDialog类了。我在 developers.facebook.com 中搜索了一些如何使用新 sdk 显示提要对话框的教程。

我们曾经写过:

[facebook dialog:@"feed" andParams:params andDelegate:self];

但是,似乎所有关于对话框的提示都与 developers.facebook.com 中的旧 SDK 有关。

有人用新的 SDK 实现了提要对话框吗?

或者,我们是否应该构建自己的DialogViewController 来将所有UI 元素表示为文本字段,发送按钮以生成FBRequest?!

【问题讨论】:

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


    【解决方案1】:

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

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





    并改变:

    #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
                     }
                 }
            }];
    

    【讨论】:

    • 没有新的方法来调用未被弃用的对话概念吗?我个人很擅长按摩自己的代码以使用他们的新技术,但是我仍然希望获得我的应用程序要提交的内容的对话框预览。
    • @Joey Facebook 推荐我上面描述的方式。我认为这是唯一的方法。
    • 发现问题。似乎我在我的一个头文件中包含了 FacebookSDK 头。确保您没有在源代码中的任何位置包含此内容。
    • 我没有得到的是根据developers.facebook.com/roadmap/#february-2013,到 2013 年 2 月 6 日,使用 GraphApi 发布到朋友墙将无法使用,并且建议我使用 SDK 3.1 中已弃用的提要对话框???
    • 昨天,FacebookSDK 3.2 发布了,它不再要求您拉入已弃用的标头。引用更改日志:“此版本增加了对集成 Web 对话框、Feed 对话框和请求对话框的支持,而无需调用已弃用的标头,从而使将对话框添加到您的应用程序中变得更加简洁和容易。”
    【解决方案2】:

    使用 Facebook SDK 3.2,您不再需要导入已弃用的标头。可以使用 FBWebDialogs 类呈现基于 Web 的对话框:

    [FBWebDialogs presentFeedDialogModallyWithSession:nil parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
        // ...
    }];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2011-11-23
      相关资源
      最近更新 更多