Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook登录可以在Safari中使用,但不能在UIWebView中使用_Javascript_Ios_Facebook_Uiwebview - Fatal编程技术网

Javascript Facebook登录可以在Safari中使用,但不能在UIWebView中使用

Javascript Facebook登录可以在Safari中使用,但不能在UIWebView中使用,javascript,ios,facebook,uiwebview,Javascript,Ios,Facebook,Uiwebview,我有一个带有UIWebView的应用程序,它显示一个有Facebook登录名的应用程序。我正在使用Facebook的JavaScript SDK,无法使用iOS SDK 当我在MobileSafari中打开网站时,登录效果非常好,而不是在web视图中。登录对话框打开,我输入用户凭据,它重定向到一个空白的白色页面。我知道这是什么原因。在普通浏览器中,此登录对话框将在新窗口中打开。但由于UIWebView不支持多个窗口,因此登录将替换该网页,并且一旦成功登录,就无法重定向回原始网页 我到处寻找解决方

我有一个带有UIWebView的应用程序,它显示一个有Facebook登录名的应用程序。我正在使用Facebook的JavaScript SDK,无法使用iOS SDK

当我在MobileSafari中打开网站时,登录效果非常好,而不是在web视图中。登录对话框打开,我输入用户凭据,它重定向到一个空白的白色页面。我知道这是什么原因。在普通浏览器中,此登录对话框将在新窗口中打开。但由于UIWebView不支持多个窗口,因此登录将替换该网页,并且一旦成功登录,就无法重定向回原始网页

我到处寻找解决方案,但几乎所有的都过时了。我不认为有一个直截了当的解决办法,但如果有人有一个变通/黑客,请帮助我


谢谢。

检查是否已将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]; 
            }
           }

           } 

你好谢谢你的回复。我尝试过这种方法,但它只在某些情况下有效。如中所示,如果我使用Facebook提供的原始登录按钮,这项功能就会起作用。如果我使用自定义按钮进行fb登录,则此方法不起作用。你遇到过这种情况吗?@rAzOr我实际上找不到解决办法。对不起。伊苏鲁,我知道已经有一段时间了,但你找到解决办法了吗?@byron我想我没有找到解决办法。老实说,我不记得了,因为这是很久以前的事了,我现在没有机会接触这个项目。很抱歉