当前目标在Facebook视图中的Facebook授权期间隐藏Facebook ok按钮

时间:2013-05-21 02:16:00

标签: ios facebook sdk

我们正在使用最新的Facebook iOS SDK(3.5)并且在webview登录时遇到以下问题。当前目标选项卡隐藏了facebook ok和取消按钮,因此用户无法授权该应用程序。

重现的步骤:

1)使用Facebook SDK UIWebView登录 2)“您已经授权......”文字出现 3)隐藏了OK和Cancel按钮,视图不可滚动。

此问题是否有解决方法?

-------------更新-------------

此问题现已由Facebook修复。

1 个答案:

答案 0 :(得分:1)

我不确定这是否会对IOS用户有所帮助,但我可以告诉你我是如何修复Android中的应用程序的,以防其他人遇到此错误(也许有人可以将此修复程序转换为IOS)。 / p>

在FaceBookSDK中,我修改了com / facebook / widget / WebDialog.java,这样一旦加载了Web对话框,它就会查找“当前目标”块并将其隐藏(如果存在)。

在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           
    }