我正在尝试从我的 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/
所以问题是我无法判断帖子是否成功。
我的代码有问题吗?
Best Answer-推荐答案 strong>
如文档中所述,“completionGesture”字段“仅在用户登录您的应用时可用”。
因此,如果用户之前从未在您的应用中使用过 Facebook 登录,您将不会获得该字段,并且只会看到“didComplete”字段。
关于ios - 使用 FBDialogs 检测成功的 facebook 帖子,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/18238656/
|