7

我正在将Facebook集成到我的应用程序中以共享网站链接。我正在使用 Feed 对话框来完成此操作,并且我正在关注本教程:
https ://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/ 。

我已经成功登录并发布到 Facebook,但我想在发布成功后添加一条消息。该教程内置了这个,但每次我发布时,我都会在日志中看到“用户取消故事发布。 ”这是用户单击取消时显示的消息。此外,我已经通过调试器确认resultURL处理程序收到的参数始终为零,即使在成功发布时也是如此。

起初我认为这是我的配置问题Facebook App,但我决定进行测试。我打开了RPSSample框架附带的,在视图控制器中的方法presentRequestsDialogModallyWithSession调用中添加了一个完成处理程序,我也在那里获得了成功的帖子。clickInviteFriendsRPSFriendsViewController.mresultURL

我错过了什么?

我知道 3.5 SDK 版本非常新,但根据文档,我应该resultURL在通过Facebook 网络对话框发布后获得一个有效的参数,所以我不确定它是否是一个错误,或者我是否在某处遗漏了一些回调或处理程序.

以防万一,这是我对Feed Web Dialog的调用。与教程中的相比,它有细微的变化(实际上更简单)

- (void)publish: (EntityToShare *)entityToShare {
NSMutableDictionary *params =
[NSMutableDictionary dictionaryWithObjectsAndKeys:
 entityToShare.link, @"link",
 nil];

// Invoke the dialog
[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
             NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
             if (![urlParams valueForKey:@"post_id"]) {
                 // User clicked the Cancel button
                 NSLog(@"User canceled story publishing.");
             } else {
                 // User clicked the Share button
                 NSString *msg = [NSString stringWithFormat:
                                  @"Posted story, id: %@",
                                  [urlParams valueForKey:@"post_id"]];
                 NSLog(@"%@", msg);
                 // Show the result in an alert
                 [[[UIAlertView alloc] initWithTitle:@"Result"
                                             message:msg
                                            delegate:nil
                                   cancelButtonTitle:@"OK!"
                                   otherButtonTitles:nil]
                  show];
             }
         }
     }
 }];
}
4

1 回答 1

9

我们已对此进行了修复,并将很快推出。

编辑:

这已在 SDK 版本 3.5.1 中得到修复 在此处查看:https ://developers.facebook.com/ios/

于 2013-04-24T04:18:41.777 回答