我正在尝试从我的 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
而不是 completionGesture
。 NSError
对象始终为 nil
。
结果字典在这里解释:https://developers.facebook.com/ios/share-dialog/
所以问题是我无法判断帖子是否成功。
我的代码有问题吗?
如文档中所述,“completionGesture”字段“仅在用户登录您的应用时可用”。
因此,如果用户之前从未在您的应用中使用过 Facebook 登录,您将不会获得该字段,并且只会看到“didComplete”字段。
关于ios - 使用 FBDialogs 检测成功的 facebook 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238656/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |