Javascript Facebook登录可以在Safari中使用,但不能在UIWebView中使用
我有一个带有UIWebView的应用程序,它显示一个有Facebook登录名的应用程序。我正在使用Facebook的JavaScript SDK,无法使用iOS SDK 当我在MobileSafari中打开网站时,登录效果非常好,而不是在web视图中。登录对话框打开,我输入用户凭据,它重定向到一个空白的白色页面。我知道这是什么原因。在普通浏览器中,此登录对话框将在新窗口中打开。但由于UIWebView不支持多个窗口,因此登录将替换该网页,并且一旦成功登录,就无法重定向回原始网页 我到处寻找解决方案,但几乎所有的都过时了。我不认为有一个直截了当的解决办法,但如果有人有一个变通/黑客,请帮助我Javascript Facebook登录可以在Safari中使用,但不能在UIWebView中使用,javascript,ios,facebook,uiwebview,Javascript,Ios,Facebook,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我想我没有找到解决办法。老实说,我不记得了,因为这是很久以前的事了,我现在没有机会接触这个项目。很抱歉