Sencha Touch 2和Cordova / PhoneGap 2无法正常加载

时间:2012-08-24 15:08:57

标签: cordova sencha-touch-2 cordova-2.0.0

我整个星期都在使用桌面编写Sencha Touch 2应用程序来测试它。我刚刚尝试将其与PhoneGap集成,并在iOS模拟器和物理iOS设备上进行测试。

我可以看到ST2应用程序正在启动“启动”,并确认应用程序仍可在桌面上运行......但Ext.viewport.add(...)似乎没有更新屏幕(仍然显示默认的蓝色/闪烁点加载器。)

我的index.html如下所示:

<!DOCTYPE HTML>
<html manifest="" lang="en-US">
<head>
<meta charset="UTF-8">
<title>Yoga Journal's FindYoga</title>
<link href="resources/css/app.css" type="text/css" rel="stylesheet" />
<style type="text/css">
  /* trimmed css */
</style>
<script type="text/javascript" src="cordova-2.0.0.js"></script>
<script id="microloader" type="text/javascript" src="sdk/sencha-touch.js"></script>
<script id="microloader" type="text/javascript" src="all-classes.js"></script>
<script id="microloader" type="text/javascript" src="app.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
</head>
<body>
<div id="appLoadingIndicator">
    <div></div>
    <div></div>
    <div></div>
</div>
</body>
</html>

我的app.js看起来像这样:

Ext.application({
    name: 'YogaNow',

controllers: ['Main', 'C1','C2','C3'],
    views: ['Main'],
    stores: ['S1', 'S2', 'S3','S4'],
    models: ['M1', 'M2', 'M3','M4'],

    launch: function() {
        console.log('launch');
        Ext.Viewport.add({
            xtype: 'mainpanel',
        });
    },
});


if(Ext.os.deviceType == 'Desktop') {
    setTimeout(function() {
        var e = document.createEvent('Events');
            e.initEvent('deviceready');
            document.dispatchEvent(e);
    }, 250);
}

如上所述,应用程序在桌面上运行正常(没有错误)。如果我从index.html中删除cordova引用并注释掉“if(Ext.os.deviceType){...}”它在iOS(模拟器和设备)下的Safari中也可以正常运行。

删除对cordova的引用也使得应用程序在Simulator或Device上运行时可以在PhoneGap / Cordova s​​hell中运行。

为什么包含cordova-2.0.0.js然后在Xcode中构建导致ST2代码不更新视图?

0 个答案:

没有答案