FBDialog обратный вызов кнопки отмены - PullRequest
1 голос
/ 06 декабря 2009

Когда пользователь нажимает кнопку «Отмена» в FBStreamDialog, которая наследуется от FBDialog, у меня возникают проблемы, когда пользователь нажимает кнопку «Опубликовать». Кажется, что обратный вызов FBDialog dismissWithSuccess всегда передается со статусом: НЕТ, независимо от того, какая кнопка нажата. Что я делаю неправильно? Спасибо!

Вот класс, который обрабатывает все FBConnect в моем приложении:

@interface SocialMediaViewController : UIViewController <FBSessionDelegate, FBRequestDelegate, FBDialogDelegate> {...  

Вот как я инстанцировал логин.

FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:self.fbSession] autorelease]; 
dialog.delegate = self;
[dialog show];

Вот как я создал экземпляр FBStreamDialog.

FBStreamDialog* dialog = [[FBStreamDialog alloc] init]; 
dialog.delegate = self; 
dialog.userMessagePrompt = @"Enter additional comment:"; 
dialog.attachment = [NSString stringWithFormat:@"{\"name\":\"My name string %@\"," "\"href\":\"http://xyz.com/\"," "\"caption\":\"placeholder-%@\",\"description\":\"%@\"," "\"properties\":{\"More like this\":{\"text\":\"XYZ website\",\"href\":\"http://XYZ.com/\"}}}", self.curReview.businessName, self.curReview.reviewType, self.curReview.reviewDetail]; 
[dialog show];

1 Ответ

5 голосов
/ 17 апреля 2010

Добавьте следующее в качестве первой строки в FBDialog.m / webViewDidFinishLoad:

[_webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('cancel').onclick = function onclick(event) { window.location.href = 'fbconnect:cancel'; }"];

Имейте в виду, что Facebook не позволяет "наказывать" пользователей за отмену :-)

...