2014-09-05 78 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錯誤。

相關問題