Facebook登录在Safari中有效,但在UIWebView中无效

时间:2014-03-24 11:07:23

标签: javascript ios facebook uiwebview

我有一个UIWebView的应用,其中显示有web page的Facebook登录信息。我正在使用Facebook的JavaScript SDK(我无法使用iOS SDK)。

当我在移动版Safari中打开网站但不在网络视图中时,登录工作正常。登录对话框打开,我输入用户凭据并重定向到空白页面。我知道是什么原因引起的。在普通浏览器中,此登录对话框将在新窗口中打开。但由于UIWebView不支持多个窗口,登录会替换网页,一旦成功登录,就无法重定向回原始网页。

我已经搜遍了所有的SO以寻求解决方案,但几乎所有这些都已经过时了。我不认为有一个直接的解决方案,但如果有人有解决方法/黑客,请帮助我。

谢谢。

1 个答案:

答案 0 :(得分:0)

检查您是否将Facebook应用程序ID(您的应用程序ID)添加到Xcode项目 - 应用程序的url架构中。然后确保在fb登录后将用户重定向回您的页面。

      - (void)webViewDidFinishLoad:(UIWebView *)webView
            {

            NSString *url = [[webView.request URL] absoluteString];

          //  if([url hasPrefix:@"https://m.facebook.com/dialog/oauth"])
 if([url hasPrefix:@"https://m.facebook.com/home.php?"])

            {
            /* here you must implement method to send user to your page */
                [self backToMyPage]; 
            }
           }

           }