Appcelerator facebook 登录按钮事件不适用于 alloy
Appcelerator facebook login button events not working with alloy
我正在使用带有 appcelerator titanium 的 alloy 框架,并且这样做了:
alloy.js
Alloy.Globals.Facebook = require('facebook');
Alloy.Globals.Facebook.permissions = ['public_profile'];
index.js
Alloy.Globals.Facebook.addEventListener('login', function(e) {
if (e.success) {
Ti.API.info("VALID FACEBOOK LOGIN");
var token = Alloy.Globals.Facebook.accessToken;
Ti.API.info("*** fb accessToken: "+token);
}
else{
Ti.API.info("FAILED FACEBOOK LOGIN...");
}
});
index.xml
<LoginButton id="fbButton" module="facebook" />
当我尝试使用按钮登录时,登录正常,但 facebook 按钮变为 "logout"。然而,没有登录事件被触发并且 index.js 中的 evenlistener 永远不会得到任何东西。
这是什么原因造成的?我应该以其他方式添加事件列表吗?
iOS 在设备 9.3.1 上
钛 SDK 5.2.2.GA
我想你忘了添加这条指令:
Alloy.Globals.Facebook.authorize();
作为一个丑陋的解决方法,直到事件得到修复,我只是添加了一个 setInterval 来轮询 Alloy.Globals.Facebook.loggedIn 是否为真,然后执行应该在事件处理程序中的适当代码...
正如之前对该问题的评论中所指出的,该模块未初始化。将 initialize() 行添加到我的 alloy.js 似乎解决了问题,现在我收到了登录事件。
在alloy.js
Alloy.Globals.Facebook = require('facebook');
Alloy.Globals.Facebook.permissions = ['public_profile'];
Alloy.Globals.Facebook.initialize();
将应用提交到应用商店后,由于某些原因,审阅者无法获得任何事件...这真的很糟糕。它在我的模拟器和我的设备上工作,但在他们测试时不适用于提交的应用程序...
真的不知道该怎么办...
我正在使用带有 appcelerator titanium 的 alloy 框架,并且这样做了:
alloy.js
Alloy.Globals.Facebook = require('facebook');
Alloy.Globals.Facebook.permissions = ['public_profile'];
index.js
Alloy.Globals.Facebook.addEventListener('login', function(e) {
if (e.success) {
Ti.API.info("VALID FACEBOOK LOGIN");
var token = Alloy.Globals.Facebook.accessToken;
Ti.API.info("*** fb accessToken: "+token);
}
else{
Ti.API.info("FAILED FACEBOOK LOGIN...");
}
});
index.xml
<LoginButton id="fbButton" module="facebook" />
当我尝试使用按钮登录时,登录正常,但 facebook 按钮变为 "logout"。然而,没有登录事件被触发并且 index.js 中的 evenlistener 永远不会得到任何东西。
这是什么原因造成的?我应该以其他方式添加事件列表吗?
iOS 在设备 9.3.1 上 钛 SDK 5.2.2.GA
我想你忘了添加这条指令:
Alloy.Globals.Facebook.authorize();
作为一个丑陋的解决方法,直到事件得到修复,我只是添加了一个 setInterval 来轮询 Alloy.Globals.Facebook.loggedIn 是否为真,然后执行应该在事件处理程序中的适当代码...
正如之前对该问题的评论中所指出的,该模块未初始化。将 initialize() 行添加到我的 alloy.js 似乎解决了问题,现在我收到了登录事件。
在alloy.js
Alloy.Globals.Facebook = require('facebook');
Alloy.Globals.Facebook.permissions = ['public_profile'];
Alloy.Globals.Facebook.initialize();
将应用提交到应用商店后,由于某些原因,审阅者无法获得任何事件...这真的很糟糕。它在我的模拟器和我的设备上工作,但在他们测试时不适用于提交的应用程序...
真的不知道该怎么办...