OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 FBDialogs 检测成功的 facebook 帖子 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 03:26
标题: ios - 使用 FBDialogs 检测成功的 facebook 帖子

我正在尝试从我的 iOS 应用中展示 facebook 分享对话框。

此代码打开 facebook 应用并显示对话框:

FBShareDialogParams* params = [[FBShareDialogParams alloc] init];
params.link = urlToShare;
params.name = @"Test";
params.description = @"Description";
params.picture = [NSURL URLWithString:FB_IMG_URL];

BOOL canPresentShareDialog = [FBDialogs canPresentShareDialogWithParams:params];
if (canPresentShareDialog) {
    [FBDialogs presentShareDialogWithParams:params clientState:nil handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
        if (error) {
            if ([FBErrorUtility shouldNotifyUserForError:error]) {
                UIAlertView* alert = [[UIAlertView alloc] initWithTitle"Facebook-Error!" message:[FBErrorUtility userMessageForError:error] delegate:nil cancelButtonTitle"OK" otherButtonTitles:nil];
                [alert show];
            }
        } else {
            NSLog(@"SUCCESS");
        }
    }];
}

在完成处理程序中,我想知道用户是否取消了操作。结果字典应该告诉我。但是我只在字典中得到 didComplete=YES 而不是 completionGestureNSError 对象始终为 nil

结果字典在这里解释:https://developers.facebook.com/ios/share-dialog/

所以问题是我无法判断帖子是否成功。

我的代码有问题吗?



Best Answer-推荐答案


如文档中所述,“completionGesture”字段“仅在用户登录您的应用时可用”。

因此,如果用户之前从未在您的应用中使用过 Facebook 登录,您将不会获得该字段,并且只会看到“didComplete”字段。

关于ios - 使用 FBDialogs 检测成功的 facebook 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238656/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4