1

最新の Facebook iOS SDK (3.5) を使用しており、webview ログインで次の問題があります。現在の目標タブで Facebook の [OK] ボタンと [キャンセル] ボタンが非表示になるため、ユーザーはアプリを承認できません。

再現する手順:

1) Facebook SDK UIWebView を使用してログインします。2) 「既に承認されています...」というテキストが表示されます。3) [OK] ボタンと [キャンセル] ボタンの両方が非表示になり、ビューはスクロールできません。

この問題の回避策はありますか?

- - - - - - - アップデート - - - - - - -

この問題は現在、Facebook によって修正されています。

4

1 に答える 1

1

これが IOS ユーザーに役立つかどうかはわかりませんが、他の誰かがこのバグに遭遇した場合に備えて、Android のアプリでこれをどのように修正したかをお伝えできます (おそらく誰かがこの修正を IOS に翻訳できます)。

FaceBookSDK で com/facebook/widget/WebDialog.java を変更して、Web ダイアログが読み込まれると、「Current Goals」ブロックを探して非表示にするようにしました (存在する場合)。

com/facebook/widget/WebDialog.java:

private class DialogWebViewClient extends WebViewClient {

    // ... other methods ...

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if (!isDetached) {
            spinner.dismiss();
        }
        /*
         * Once web view is fully loaded, set the contentFrameLayout background to be transparent
         * and make visible the 'x' image.
         */
        contentFrameLayout.setBackgroundColor(Color.TRANSPARENT);
        webView.setVisibility(View.VISIBLE);
        crossImageView.setVisibility(View.VISIBLE);

        // I don't know how to highlight in the code block
        // So I just add this extra long comment to make it obvious
        // Add a javascript call to hide that element, if it exists
        webView.loadUrl("javascript:try{ document.getElementById('nux-missions-bar').style.display='none'; } catch (e) {}");
        // End changes           
    }
于 2013-05-29T07:03:43.230 に答える