fb.authorize()从不给出登录事件

时间:2016-04-14 15:15:56

标签: facebook module appcelerator appcelerator-titanium

我正在使用appcelerator docs中的代码:

var fb = require('facebook');

fb.addEventListener('login', function(e) {

    Ti.API.info("Login event received...");

    if (e.success) {
        alert('login from uid: '+e.uid+', name: '+ JSON.parse(e.data).name);
    }
    else if (e.cancelled) {
        // user cancelled
        alert('cancelled');
    }
    else {
        alert(e.error);
    }
});

Ti.API.info("fb authorize...");
fb.permissions = ['public_profile'];
fb.initialize();
fb.authorize();

但登录事件永远不会被触发,也没有任何反应。任何人都知道为什么?

我在iPhone上使用appcelerator studio 5.2.2.GA和iOS 9.3.1。

3 个答案:

答案 0 :(得分:2)

请阅读Additional iOS Setup Steps并初始化模块:

var fb = require('facebook');
 fb.permissions = [FACEBOOK_APP_PERMISSIONS];
 fb.initialize();
 fb.authorize()

答案 1 :(得分:0)

我有类似的问题,我通过在fb.authorize()

之前添加此行来修复它
var fbBtn = fb.createLoginButton();

但是我从不将按钮添加到UI,只是调用该方法似乎会触发某些东西。

答案 2 :(得分:0)

您是在物理设备上还是在模拟器中进行测试?当它在物理设备上完美运行时,在模拟器中运行会导致此类问题。