fun*_*eah 3 android cordova meteor
我有一个流星应用程序(BrewsOnTap)在部署为网站时工作正常,但是当通过cordova在Android设备上进行测试时,它会永远停留在加载屏幕上.
我没有看到任何相关的控制台错误或警告.如果我转到我正在为其提供应用程序的IP,即使显示正常.该应用程序正在使用iron-router和waitOn来显示加载模板,直到初始数据被加载...但显然没有发生.
建议问题可能是什么或下一步调试它?
这看起来非常像连接问题.首先要在控制台中尝试:
Router.current().ready()
Run Code Online (Sandbox Code Playgroud)
如果没有返回,false
那么Tracker或Iron-Router就会发生一些非常有趣的事情,因为它(反应性地)给出了主等待列表准备就绪,因此如果它返回,true
那么还有一些东西会阻止页面呈现.
找出等待列表中哪些项目的最佳方法ready
是查看路由器代码,将订阅句柄拉出到全局对象中,并将引用传递给waitOn
回调.
例如,而不是:
waitOn: function() {
return [Meteor.subscribe('someThings'), Meteor.subscribe('someOtherThings')];
}
Run Code Online (Sandbox Code Playgroud)
改为:
Subs = {};
waitOn: function() {
Subs.someThings = Meteor.subscribe('someThings');
Subs.someOtherThings = Meteor.subscribe('someOtherThings');
return [Subs.someThings, Subs.someOtherThings];
}
Run Code Online (Sandbox Code Playgroud)
这样,您可以Subs.someThings.ready()
从每个订阅的控制台运行,以找出阻止您的页面呈现的内容.希望这是一个开始.
但是,虽然我没有完全理解您发布的错误消息,但事实上它"无法加载资源"强烈暗示了连接问题,这会阻止订阅数据通过DDP进入客户端,从而防止订阅返回ready
.我将在"网络"选项卡中查看那里发生了什么(或没有发生).
抱歉这不是解决方案,但希望这是一个开始.如果是连接,请检查这里的所有内容- 即启用开发人员工具,允许USB调试,Android设备连接到同一个wifi,IP正确...
更新: 考虑到这一点,应用程序是通过USB调试安装的,所以你可以运行它的事实表明那里没有问题.但是,我假设数据是通过本地网络传递的,这就是问题所在,所以我认为必须是这两个设备没有连接到同一个wifi,否则提供的IP不正确.
归档时间: |
|
查看次数: |
1499 次 |
最近记录: |