我正在为 iOS 5 编写一个基于 PhoneGap 的应用程序。我遇到了以下问题:
我使用 Facebook 登录。身份验证成功后,用户应返回到我的应用程序。一切正常,除了一件事 - 使用 http 301(重定向)从 Facebook 返回的 url 在新的 safari 窗口而不是 PhoneGap 的 webView 中打开。
我很困惑,因为通常我需要编写一些额外的代码来强制 PhoneGap 应用程序在 Safari 中打开 URL。现在情况正好相反。
是否有任何解决方法可以避免此类行为?
我使用的是 OS X 10.6.8、Xcode 4.2、PhoneGap 1.2.0。
最佳答案
如果您正在编写一个 PhoneGap 应用程序,那么您的网络应用程序就是一个客户端网络应用程序 - 即它运行在 file://
协议(protocol)上。要使 Facebook 登录正常工作,它需要使用客户端 Web 应用程序,或使用 http(s)
协议(protocol)的网站。这就是您在 Facebook 开发者网站上创建新应用时注册的内容。
为了让 Facebook 与客户端应用程序一起工作,无论是在 Java/C/Obj-C 还是 Javascript 中,您都需要进行双向 OAuth 授权。这不是一件常见的事情,因此您可能需要更加努力地进行谷歌搜索。
关于iphone - PhoneGap 在 Facebook 登录期间打开 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8271162/