2011-01-28 91 views
6

我正在開發基於phonegap的項目。我想使用一些調試工具,以便能夠將一些變量等調試到XCode控制檯等。現在,我發現,爲了做到這一點,我需要調用函數console.log。Phonegap - 在Xcode中調試Javascript

然而,問題是,當在模擬器中運行應用程序沒有調試信息顯示在XCode控制檯中...我使用phonegap版本0.9.3,我做錯了什麼?

感謝答案

+0

您能解釋文檔中有關console.log的信息嗎?我找不到它 – xus 2011-10-07 16:58:54

回答

3

此功能非常最近完成(兩天前),並且不包括在0.9.3版本。你可以看到這個ticket in the issue tracker瞭解更多信息。

爲了得到這個工作,你必須從PhoneGap GitHub repository拉最新的代碼。從外殼:

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

...然後從頭開始構建源代碼。那麼你應該看到它!

或者,你用debug.log代替你的console.log聲明,並且這將在0.9.3中工作。

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的確定」,在你的日誌窗口出現時,應用程序啓動,那麼就意味着你在某處有語法錯誤。

要保存狩獵缺少逗號,最簡單的事情就是粘貼代碼到一個Javascript驗證像這樣:

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

,讓它找到爲你報錯。

希望這可以消除一些調試的痛苦。