iphone - PhoneGap 在 Facebook 登录期间打开 Safari

标签 iphone ios xcode cordova ios5

我正在为 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/

相关文章:

ios - 我可以创建一个可以被多个 ContentView 使用的通用 ObservableObject 类吗?

xcode - 如何使用 Xcode 7 和 8 编译针对最新 SDK 的 Swift 代码?

ios - 如何在其他viewController中使用变量? - swift

iOS:如果未安装应用程序,Apple Universal Link continueUserActivity 方法不会调用?

iphone - 您如何使iPhone发出哔哔声?

iphone - 如何将音频文件附加到 MFMessage Composer

iphone - 使用 AFHttpClient 进行身份验证时出现问题

ios - 为什么我的自定义配件按钮在点击时没有改变图像 (ios)?

iphone - 将 UIScrollView 手势识别器添加到另一个 UIScrollView

ios - UITableView Selected Row Position keep stay