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 に答える