iPhone アプリケーションの UIWebView で facebook-comments プラグインを表示しようとしています。
私は Facebook のiOS チュートリアルから始めました。ここでは、シングル サインオンを実装しました。アプリ デリゲートは Facebook のシングル サインオンを処理し、タイトル バーと UIWebView を表示する単一のビュー コントローラーにリダイレクトします。
バンドル/プロジェクト ディレクトリに追加およびコピーされた「comments.html」というローカル ファイルを Web ビューにロードします。
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"comments" ofType:@"html"] isDirectory:NO];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
私の html ファイルは、 Facebook コメント プラグインの説明サイトで生成されたプラグイン実装のベアボーン バージョンです。URL を入力して [Get Code] をクリックしました。提供された HTML5 コードを取得し、html ファイルに貼り付けました。
<html>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="http://www.bombslo.com" data-num-posts="4" data-width="470"></div>
</body>
</html>
UIWebView は私のシミュレーターに問題なくロードされます。デバイスで html をホストして起動したところ、Safari で問題なく読み込まれました。問題は、UIWebView が埋め込まれた UIWebView に Facebook コメント プラグインをロードしないことです。
注意すべき重要なことは、空白の画面が表示されないことです。Facebook に典型的な、アニメーション化された 2 つの読み込みバーが表示されます。また、Facebook で生成されたコードは、HTML5 と XFBML の両方で提供されることに注意してください。両方使ってみました。