在Appcelerator Titanium中进行Facebook单点登录时出现“无法打开页面”错误

时间:2013-01-16 20:07:22

标签: facebook appcelerator appcelerator-mobile

我在appcelerator钛金属应用程序中设置了一个视图,几乎与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登录 - 已启用

我是否遗漏了设置中的任何内容?

1 个答案:

答案 0 :(得分:1)

想出来:

在我的Facebook应用设置中(在developers.facebook.com上),我将捆绑ID设置为与Appcelerator中的应用相同的ID。

Based on the q & a:

将build / iphone /中的Info.plist复制到应用程序的根目录中。

在app下面的Info.plist中添加了xml元素fb11111111111111:

<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