0

FBStreamDialog を使用して、ユーザーがニュース フィードに公開できるようにします。

[fbStreamDialog ショー];

ダイアログビューがポップアップし、ユーザーはキャンセルを押すか、そのメッセージを送信できます。

今...私の問題は、両方のボタンがダイアログビューを閉じ、デリゲートメソッドdialogDidSucceedを呼び出すことです。

どのボタンが押されたかを知るにはどうすればよいですか? 私が知ることは非常に重要です。役に立つアドバイスは本当に本当に素晴らしいでしょう!

ありがとう、ジョン

4

4 に答える 4

7

わかりました... あきらめたくありませんでした。他の誰かが同じ問題を抱えた場合に備えて..

fbconnect の元のコードを少し変更しても構わない場合は、FBDialog.m を開き、次の行を -(void)webViewDidFinishLoad... に追加します。

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

これは、dialogDidSucceed の代わりに dialogDidCancel デリゲート メソッドを呼び出します。

乾杯。

于 2010-02-27T23:25:33.270 に答える
1

Facebook Connect 開発チームに問い合わせたところ、次のような回答が得られました。

現在、公開アクションのインセンティブを避けるために、ユーザーがどのボタンをクリックしたかは明らかにしていません。DidSucceed は、ダイアログが適切に実行されたことを知らせるだけであり、FB はストーリーを適切に公開するかどうかを決定します。

于 2010-02-26T13:43:34.743 に答える
1

どのボタンが押されたかを認識できるように、ボタン インデックスが必要です。

于 2010-02-22T04:02:33.040 に答える
0

同じ問題、これは私にとってはうまくいきました。

  • (void)dialogCompleteWithUrl:(NSURL *)url { if (![[url absoluteString] isEqualToString:@"fbconnect://success# = "]) { // あなたのメッセージ } }
于 2011-11-21T10:11:45.033 に答える