2011-01-28 14 views
6

私はphonegapベースのプロジェクトで作業しています。いくつかの変数などをXCodeコンソールなどにデバッグできるようにするために、いくつかのデバッグツールを使いたいと思います。これを行うためには、console.log関数を呼び出す必要があります。Phonegap - XcodeでのJavascriptデバッグ

ただし、シミュレータでアプリケーションを実行すると、デバッグ情報がXCodeコンソールに表示されません...私はphonegapバージョン0.9.3を使用していますが、何が間違っていますか?答え

+0

console.logに関する情報はどこにありますか?私はそれを見つけることができません – xus

+0

こんにちは、私はphonegapのより高いバージョンにアップグレードすることによって問題を解決しました。私はphonegapグーグルグループでそれを見たことがあるかもしれませんが、ポストはすでに今日削除されている可能性があります。私はあなたのコードを新しいバージョンのphonegapにアップグレードすることをお勧めします。 – Lukas1

答えて

3

この機能のための

おかげで(2日前)ごく最近完成し、0.9.3のリリースには含まれていません。詳細はticket in the issue trackerをご覧ください。

この機能を利用するには、PhoneGap GitHub repositoryから最新のコードを取得する必要があります。シェルから:

$ git clone git://github.com/phonegap/phonegap-iphone.git 

...ソースを最初からビルドします。あなたはそれを見なければなりません!

また、の文をdebug.logに置き換えてください。これは0.938で動作します。

3

ルーカス、あなたのphonegapプロジェクトをデバッグするために使用できる素晴らしいツールがあります。

iWebInspectorでは、Phonegapアプリケーションには基本的にFirebugがあります。コードをライブで変更することもできます。

3

他のJavaScriptの前に実行されるように、ドキュメントの先頭近くに次の部分を貼り付けます。

<script type="text/javascript"> 
    window.onerror = function(message, url, lineNumber) { 
     console.log("Error: "+message+" in "+url+" at line "+lineNumber); 
    } 
</script> 

また、XcodeコンソールウィンドウでJavascriptエラーの詳細を表示することもできます。

更新:上記の手法では、未定義の変数などのエラーが記録されます。しかし、コンマがないなどの構文エラーは、スクリプト全体を何も記録せずに中断させます。

したがって、あなたのonDeviceReady関数の先頭に以下を追加する必要があります

console.log('Javascript OK'); 

あなたがたときにアプリが起動し、「JavaScriptのOKは、」ログ・ウィンドウに表示されて表示されていない場合、それが意味どこかに構文エラーがあります。

http://www.javascriptlint.com/online_lint.php

をし、それはあなたのためにエラーを見つけてみましょう:

にカンマが不足しているために狩りを保存するには、最も簡単な方法は、この一つとして、Javascriptのバリデータにコードを貼り付けることです。

うまくいけば、それはデバッグの苦痛を取り除くことを望みます。