我有一个UIWebView
的应用,其中显示有web page的Facebook登录信息。我正在使用Facebook的JavaScript SDK(我无法使用iOS SDK)。
当我在移动版Safari中打开网站但不在网络视图中时,登录工作正常。登录对话框打开,我输入用户凭据并重定向到空白页面。我知道是什么原因引起的。在普通浏览器中,此登录对话框将在新窗口中打开。但由于UIWebView
不支持多个窗口,登录会替换网页,一旦成功登录,就无法重定向回原始网页。
我已经搜遍了所有的SO以寻求解决方案,但几乎所有这些都已经过时了。我不认为有一个直接的解决方案,但如果有人有解决方法/黑客,请帮助我。
谢谢。
答案 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];
}
}
}