2012-04-24 21 views
4

我正在使用UIWebView和Facebook提供的HTML5 code将Facebook评论添加到我的iPad应用程序中。 当用户未登录时,应用程序将显示评论和按钮“登录Facebook发布评论”。登录后无法重定向到UIWebView中的Facebook评论

Comments initial window

点击按钮将我通过登录过程。登录完成后,视图将以“完成登录”消息的空白页面重定向。它不会被重定向回注释对话框。

enter image description here

现在我实现了一个丑陋的解决方法。在收到webViewDidFinishLoad事件后,如果页面显示此消息,我将查看页面的内容并重新加载它。尽管如此,它似乎并不是一个干净的方式。

为什么Facebook不会将我重定向回原始评论页面?

+0

你有没有加入你的Facebook应用程序ID到您的Xcode应用程序的URL方案? – NonatomicRetain 2012-10-09 11:53:09

+1

是的,我确实设置好了。 – UrK 2012-10-09 13:07:02

回答

1

我怀疑你是与此相关的问题时遇到的问题:Facebook authentication in a UIWebView does not redirect back to original page on my site asking for auth

具体来说,标准的Facebook网页登录过程中启动一个新的浏览器窗口的对话框,并调度消息回首战指示登录成功重定向发生。

在链接的SO中引用一段文字“UIWebView不支持多个窗口,因此它不能将postMessage发回原始页面,因为它不再被加载。”

0

我还在开发iPad应用程序,我的解决方案与您的解决方案类似:我总是推动用户访问“https://m.facebook.com”,强制他先登录,然后在“ webViewDidFinishLoad”我检查返回的URL,如果它匹配:

‘https://m.facebook.com/login/checkpoint/’

确切地说,也就是网址在成功登录时返回,然后我打电话给自己的方法(重新加载或任何我想要的)。此时,用户通过身份验证并具有有效的FB会话,因此重定向不再是必需的。

这绝对不是很漂亮,只要FB改变它处理登录对话框的方式,它可能会中断,但我也找不到解决它的更好方法。甚至尝试使用“FB.Event.subscribe('auth.login',function(response){});”当然,没有成功,因为代码是永远不会到达的。

我认为一个bug已经提交给FB,但我不认为它得到应有的关注...

0

我遇到了同样的问题,因为这个问题,但读了一些Facebook official documentation后,我会重新设计使用Facebook原生SDK。

所有iOS和Android应用必须(2013年10月2日生效)使用我们的iOS和Android的SDK 请求的权限。

虽然,我还认为“或其他”只是一个“开发人员通知”?

,希望它会使用相同的方法:)为了节省时间,有人张贴本