FBDialogs presentShareDialog在5.1和6.1中都不起作用

时间:2013-05-22 01:38:41

标签: facebook fbdialogs

id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
    [action setObject:@"https://example.com/book/Snow-Crash.html"
               forKey:@"book"]; 
[FBDialogs presentShareDialogWithOpenGraphAction:action
                                          actionType:@"books.reads"
                                          previewPropertyName:@"book"
     handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
         if(error) {
             NSLog(@"Error: %@", error.description);
         } else {
             NSLog(@"Success!");
         }
     }];

我使用上面的代码在我的应用程序中显示facebook shareDialog,但它在ios 5.1和6.1中都不起作用。我想知道原因。

2 个答案:

答案 0 :(得分:2)

从我现在的理解(我可能错了),此代码调用facebook原生iOS应用程序。如果您在模拟器上测试它并且没有安装iOS应用程序,则无法使用。你不太可能在模拟器上测试它。在安装了facebook iOS应用程序的真实设备上试用它。

答案 1 :(得分:1)

您是否安装了最新的Facebook应用程序? 此外,你试图使用facebook的示例动作发布一个开放的图形动作,我不确定是否存在。如果您已在应用程序中注册了custom open graph actions,我建议您修改代码以调用它。如果您没有自定义操作,我建议您先发布简单的网址,看看它是否适合您。

使用:

NSURL* url = [NSURL URLWithString:@"https://developers.facebook.com/"];
[FBDialogs presentShareDialogWithLink:url
                              handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
    if(error) {
        NSLog(@"Error: %@", error.description);
    } else {
        NSLog(@"Success!");
    }
 }];

最后我建议你读一下:https://developers.facebook.com/ios/share-dialog/