2014-09-05 43 views
0

我有一个使用require和cordova运行的骨干应用程序。它在浏览器中完美运行,并在所有设备上通过xcode进行仿真。但无论什么原因,当我试图通过设备运行它(iphone 5)时,它会启动但从不运行,而只是给我一个空白的白色屏幕。我曾尝试使用cordova的控制台日志记录插件来控制日志,该日志插件允许将控制台日志写入xcode的终端,但它的一致性是最好的,我还没有得到任何合法的,可能会导致它运行在一个但没有另一个。骨干应用程序(w。require&cordova)iphone模拟与设备

有没有人处理过这个问题?我知道这是一个非常模糊的问题,只是试图查看是否有人或多或少遇到同一问题。

这里是我的index.html文件的身体......

<body> 
    <div id="container">loading...</div> 

    <script type="text/javascript" src="cordova.js"></script> 
    <script data-main="js/main" src="js/libs/require.js"></script> 
    </body> 

那么这个打我的主要文件,我改变背景颜色为调试的方式,我无法改变背景颜色从这个文件,但我能够在app.js ...

require.config({ 
baseUrl: "js/", 
paths: { 
    jquery: 'libs/jquery/jquery-1.8.2', 
    underscore: 'libs/underscore/underscore-min', 
    backbone: 'libs/backbone/backbone-1.0.0-min', 
    text: 'libs/require/text', 
    templates: '../templates', 
    router: 'router', 
    app: 'app', 
}, 

shim: { 
    underscore: { 
     exports: '_' 
    }, 
    backbone: { 
     deps: ["underscore", "jquery"], 
     exports: "Backbone" 
    } 
} 
}); 

require(['app', 'router', 'models/SessionModel'], function(app, AppRouter, SessionModel) { 

$('body').css('background-color', 'yellow'); 
document.addEventListener("deviceready", run, false); 

function run() { 
    app.router = new AppRouter(); 
    app.session = new SessionModel({}); 

    app.session.checkAuth({ 
     // Start the backbone routing once we have captured a user's auth status 
     complete: function(){ 
      Backbone.history.start(); 
     } 
    }); 
} 

});

然后这里是非常基本的应用程序文件...

define([ 
"jquery", 
"underscore", 
"backbone" 
], 
function($, _, Backbone) { 

    var app = { 
}; 

return app; 
}); 

回答

0

我猜你正在加载的科尔多瓦控制台插件甚至前一个错误。

请尝试以下操作:粘贴alert消息之前deviceReady事件被触发。

启动应用程序,附加Safari远程调试器并处理alert消息,现在您可以看到从那里开始的所有控制台输出。很可能你会在那里找到requirejs或cordova错误。

相关问题