1

私はこのバグを数時間追跡してきました。アプリはシミュレーターでは正常に動作しますが、デバイスでは失敗します。私はこのアプリに数週間取り組んでおり、主にシミュレーターを使用してデバッグしています。デバイスの準備完了イベントを待ってから、次を実行します。

function onDeviceReady() {
    setStylesheet();
    console.log("Device ready");
    try {
        startup();
    } catch (err) { console.log(err);}
}

および関数はstartupsetStylesheetそれぞれ次のスクリプト タグを介してインクルードされます。

<script type="text/javascript" src="js/screens.js"></script>
<script type="text/javascript" src="js/stylesheets.js"></script>

setStylesheet関数が起動し、CSS がアプリに適用されます。起動機能はありません。XCode コンソールに次のメッセージが表示されます。

2012-05-27 13:29:34.543 app[417:307] [INFO] {"message":
"Can't find variable: startup", "line":59, "sourceId":3807368, 
"sourceURL":"file:///var/mobile/Applications/hash/app.app/www/index.html",
"expressionBeginOffset":1141, "expressionCaretOffset":1148, "expressionEndOffset":1148}

シミュレーターで実行すると、すべて正常に動作します。iPhone では、そのエラーがスローされます。私はscreens.jsをリントしましたが、警告しかありませんでした。このようなことの考えられる原因は何ですか?

編集:友人は、これは競合状態の問題である可能性があると示唆しました。screen.js スクリプト タグを動的に追加してtag.onload、関数を呼び出すために使用してみました。それでも同じ問題が発生するため、それはそうではないようです。setStylesheetonload が起動された後に呼び出されるようにも変換されましたが、引き続き機能します。

4

0 に答える 0