1

我在我的 appcelerator Titan 应用程序中设置了一个视图,与用于 facebook 登录的厨房水槽演示中的视图几乎相同。我想对 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 复制到应用程序的根目录中。

将app下的xml元素fb111111111111111添加到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改为app的id

于 2013-01-16T21:07:02.090 回答