1

Facebookログイン用のキッチンシンクデモのビューとほぼ同じになるように、appceleratorのtitaniumアプリのビューをセットアップしました。IOS でシングル サインオンを使用したい:

//LoginView Component Constructor
function LoginView() {
    //create object instance, a parasitic subclass of Observable
    var self = Ti.UI.createView();
        // APP ID BELOW IS CHANGED FOR DEMO PURPOSES
    Titanium.Facebook.appid = "111111111111111";
    Titanium.Facebook.permissions = ['email', 'publish_actions'];
        // ENABLE SINGLE SIGN ON
    Titanium.Facebook.forceDialogAuth = false;

    self.add(Titanium.Facebook.createLoginButton({
        style:Ti.Facebook.BUTTON_STYLE_WIDE,
        bottom:30
    }));


    return self;
}

module.exports = LoginView;

ログインボタンをクリックすると、SafariでFacebookのログインダイアログが正常に開き、ログインします。その後、アプリに戻ろうとすると、次のエラーが表示されます。

ページを開くことができません アドレスが無効なため、Safariでページを開くことができません

非常によく似たコードがキッチン シンク アプリで正しく機能し、シングル サインオンを無効にすると、Facebook からのログインがアプリで正しく機能します。

Facebook アプリの設定は次のとおりです。 Facebook ログイン - 有効

設定に何か欠けていますか?

4

1 に答える 1

1

理解した:

Facebook アプリの設定 (developers.facebook.com) で、バンドル ID を Appcelerator のアプリと同じ ID に設定しました。

質疑応答に基づく:

build/iphone/ から Info.plist をアプリケーションのルートにコピーしました。

以下の xml 要素 fb111111111111111 を app の下に Info.plist に追加しました。

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.mycompany.app</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>app</string>
            <string>fb111111111111111</string>
        </array>
    </dict>
</array>

111111111111111 はアプリの ID に変更されます

于 2013-01-16T21:07:02.090 に答える