1

ユーザーがFBDialogから継承するFBStreamDialogの[キャンセル]ボタンを押すと、ユーザーが[公開]ボタンをクリックしたときと区別するのに問題があります。コールバックFBDialogdismissWithSuccessは、どのボタンがクリックされたかに関係なく、常にstatus:NOで渡されるようです。私は何が間違っているのですか?ありがとう!

これが私のアプリのすべての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];
4

1 に答える 1

5

FBDialog.m / webViewDidFinishLoad の最初の行として次を追加します。

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

Facebook では、ユーザーがキャンセルしたことを「罰する」ことはできないことに注意してください :-)

于 2010-04-17T19:22:17.047 に答える