我正在 appMobi 中开发一个项目,并且该项目最近到达了与 facebook 相关的部分。然而,似乎有太多的移动部件,几乎不可能知道发生了什么在哪里以及如何发生......更重要的是,当一切都在模拟器中运行但在没有控制台、没有错误日志的设备上运行时,没有什么可以尝试解决问题的。
下图是我在设备上遇到的唯一错误。尝试通过 appMobi 特定方法与 facebook 通信时。我已经复制并粘贴了代码试图使这项工作,因为我知道一旦我可以看到这个工作以及它是如何工作的,我就可以开始围绕我真正想做的事情构建逻辑。那是目前的一个静音点。无论如何,当我在模拟器中运行相同的代码时,它的工作原理完全符合预期。但是在设备本身的 Test Anywhere 中运行它似乎是引发冲突的地方。
Soo 我想知道,有没有人在堆栈之前遇到过这个问题?如果是这样,你做了什么来修复它?解决方法是什么?你如何调试它并得出结论的方法是什么,因为我确信我会遇到类似的问题,并且在设备上进行调试也是一个奖励。
我的 javascript 目前:
document.addEventListener("appMobi.facebook.login",function(e){
if (e.success == true)
{ console.log("Facebook Log in Successful"); }
else
{ console.log("Unsuccessful Login"); }
},false);
function fbLoginCheckz()
{
try{
AppMobi.facebook.login('user_birthday,user_about_me,user_status,offline_access,publish_stream,publish_actions,email,read_friendlists,publish_checkins,create_event');
}catch(e){
alert("Error Caught [FB 1]: "+e.message);
}
}
document.addEventListener("appMobi.facebook.logout",function(e){
if (e.success == true)
{ console.log("Logged out of Facebook"); }
else
{ console.log("Unsuccessful Logout"); }
},false);
var facebookUserID = "me"; //me = the user currently logged into Facebook
document.addEventListener("appMobi.facebook.request.response",function(e) {
console.log("Facebook User Friends Data Returned");
if (e.success == true) {
var data = e.data.data;
var outHTML = "";
for (var r=0; r< data.length; r++) {
outHTML += "<img src='http://graph.facebook.com/" + data[r]["id"]
+ "/picture' info='" + data[r]["name"] + "' />";
}
$("#blah").empty().html(outHTML);
document.removeEventListener("appMobi.facebook.request.response");
}
},false);
我的html:
<br><br>
<div id="blah"></div>
<a href="#" onclick="window.location.reload();">RELOAD</a><br>
<a href="#" onclick="fbLoginCheckz();">LOGIN</a><br>
<a href="#" onclick="AppMobi.facebook.logout();">LOGOUT</a><br>
<a href="#" onclick="AppMobi.facebook.requestWithGraphAPI(facebookUserID + '/friends','GET',null);">FRIENDS</a>