2

アプリの iOS 部分に固有の問題を修正するのが非常に遅いと感じています。ブラウザー・デバッガーが使用できない場合に Worklight アプリをデバッグするための推奨される方法を知りたいです。

特に、iOS と Android でのみ動作する WL.JSONStore の問題に取り組んでいます。ブラウザーのデバッガーを使用して何が起こっているのかを確認できません。WL.Logger.debug() ステートメントを実行すると、Xcode コンソールに何も表示されず、iPad シミュレータ コンソール (Cordova) には数行しか表示されません。また、今週は出力がどこにも印刷されない期間がありました。

Weinre もダウンロードしてインストールしましたが、コンソールに print ステートメントが表示されず、必要な領域に関する情報が表示されません。

ご提案いただきありがとうございます。

4

2 に答える 2

1

cnandreu はここですばらしいヒントを提供します。それでも、可視性はかなり低く、これらのアプローチは私の問題を実際には解決しませんでした. 私のプロジェクトで最も有用であることがわかったものも提案したいと思います(どこでも WL.Logger.debug() を除いて):

  • JSConsole は不可欠です ( http://jsconsole.com/ )。実際には、意図したように実際にはあまり使用していません。ただし、起動時の警告メッセージが WL.Logger.debug() (および console.log()) で何かを実行し、ステートメントが実際にコンソールに出力されるようにすることで、自分が何をしているかを確認できることがわかりました。

  • iOS 6 では、Mac 上の Safari を使用して、接続されたデバイスの DOM を検査できます。これは、特に iOS でネイティブに実行した場合にのみ誤動作するハイブリッド UI の問題に対して、適度に役立ちます。それ以外の場合は、あまり役に立ちません。詳細については、https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.htmlを参照してください。

  • 私が使用してきた唯一の最も有用な手法は、UI にステータス メッセージを書き込むことです。はい、それは物事を行うための醜い先史時代の方法ですが、コンソールへの80年代のエラー出力ステートメントを含む他のすべては惨めに失敗しました. これが私がしていることです(DojoとJavaScriptを使用):

    var v = dom.byId('audio_status'); if (v) { v.innerHTML += "recording file ["+filename+"]"; }

デバッグ コンテンツを表示する DIVの はどこaudio_statusにありますか。ID

これは醜いですが、少なくとも何かを見ることができます。

于 2013-05-26T17:58:02.030 に答える