0

我正在为 iOS 使用 PhoneGap 2.0 并试图让 FB JS SDK 工作。我正在使用以下参数异步加载 SDK:

        window.fbAsyncInit = function() {
            FB.init({
                appId : 'xxxx', // App ID
                status : true, // check login status
                cookie : true, // enable cookies to allow the server to access the session
                xfbml : true  // parse XFBML
            });   
        ....

我有一个绑定到“localhost”的 Facebook 应用程序。当我使用 XCode 模拟器测试页面或从我的文件系统在浏览器(Firefox、Chrome 等)中打开我的 index.html 页面时,我得到:

“[APPNAME] 发生错误。请稍后再试。”

如果我通过本地 apache 实例 (localhost:8080/index.html) 访问同一个文件,它就可以正常工作。

我注意到 FB 弹出窗口的 URL 在查询字符串中传递了您的域。在 localhost:8080 上,它通过“domain=localhost”。但在 Xcode 和文件系统中,它通过 "domain=" 并每次都给出上述错误。

是否有正确的方法来配置 FB 应用程序以在“无域”上下文中工作,或者您是否会以不同的方式设置 FB.init?

4

1 回答 1

1

查看 Facebook Connect 插件: https ://github.com/davejohnson/phonegap-plugin-facebook-connect (如果与 Facebook SDK 3.0 for iOS 一起使用,请检查分支,cordova-2.0-facebook-ios-3.0 )

看看那是不是你要找的。该插件需要针对刚刚发布的 Facebook SDK 3.1 进行更新,但仍然应该可以正常工作。唯一的问题是,如果您在 iOS6 上运行,它不会在不进行一些更改的情况下针对本机 iOS6 凭据进行身份验证。它将通过快速应用程序切换到 FB iOS 应用程序或 FB Web 应用程序进行身份验证。

于 2012-09-26T02:31:54.850 回答