JavaScript (Cordova、Web) アプリケーションのデバッグ

improve this page | report issue

概説

デバッグは、応用コードおよびアプリケーション・ユーザー・インターフェースにおける欠陥の原因究明からなるプロセスです。

  • JavaScript (Cordova、Web) アプリケーションは、HTML、JavaScript、および CSS などの Web ベースのリソースからなります。 Cordova アプリケーションには、(Java、Objective-C、Swift、C# などで書かれた) オプションのネイティブ・コードを含めることもできます。
  • プラットフォーム SDK で提供される標準のツール (XCode、Android、Microsoft Visual Studio など) を使用して、ネイティブ・コードをデバッグすることができます。

このチュートリアルでは、エミュレーター、シミュレーター、物理デバイス、または Web ブラウザーを介してローカルで実行されている JavaScript ベースのアプリケーションをデバッグするためのさまざまなアプローチを説明します。

Cordova のデバッグおよびテストについて詳しくは、Cordova Web サイト アプリケーションのデバッグを参照してください。

ジャンプ先:

Mobile Browser Simulator によるデバッグ

IBM Mobile Foundation Mobile Browser Simulator (MBS) を使用して、MobileFirst アプリケーションをプレビューし、デバッグできます。
MBS を使用するには、コマンド・ライン・ウィンドウを開き、次のコマンドを実行します。

mfpdev app preview

アプリケーションが複数のプラットフォームから成る場合は、以下のようにしてプレビューするプラットフォームを指定します。

mfpdev app preview -p <platform>

重要: プレビュー・フィーチャーにはいくつかの既知の制限があります。 アプリケーションは、プレビュー中は予想どおりに動作しない場合があります。 例えば、機密クライアントを使用してセキュリティー・フィーチャーを迂回します。したがって、チャレンジ・ハンドラーはトリガーされません。

Mobile Browser Simulator

MBS

Simple Preview

MBS

MobileFirst CLI については、『MobileFirst CLI を使用したMobileFirst 成果物の管理』チュートリアルを参照してください。

Ripple によるデバッグ

Apache Ripple™ は、モバイル Web アプリケーションをデバッグするための、Web ベースのモバイル環境シミュレーターです。
Ripple を使用すると、ご使用のブラウザーで Cordova アプリケーションを実行して、さまざまな Cordova フィーチャーをシュミレートできます。 例えば、ご使用のコンピューターからローカルでピクチャーを選択できるようにすることで、カメラ API をシュミレートできます。

Ripple のインストール

  1. Node.js の最新バージョンをダウンロードしてインストールします。 Node.js インストール済み環境を検証するには、端末で npm -v と入力します。
  2. 端末を開き、以下を入力します。

    npm install -g ripple-emulator
    

Ripple を使用したアプリケーションの実行

Ripple をインストールした後に、Cordova プロジェクトの場所から端末を開き、以下を入力します。

ripple emulate

Ripple エミュレーター

Apache Ripple™ の詳細情報は、Apache Ripple ページまたは npm ripple-emulator ページにあります。

iOS Remote Web Inspector によるデバッグ

iOS 6 以降、Apple は iOS デバイス上で Web アプリケーションをデバッグするためのリモート Web インスペクターを導入しました。 デバッグを行うためには、ご使用のデバイス (または iOS シミュレーター) で「プライベートブラウズ」オプションがオフになっていることを確認してください。

  1. デバイス上の Web インスペクターを有効にするには、「設定」>「Safari」>「詳細」>「Web インスペクター」をタップします。
  2. デバッグを開始するには、iOS デバイスを Mac に接続するか、シミュレーターを開始します。
  3. Safari で、「環境設定」>「詳細」に移動して、「メニューバーに “開発” メニューを表示」チェック・ボックスを選択します。
  4. Safari で、「開発」> [ご使用のデバイス ID] > [ご使用のアプリケーション HTML ファイル]を選択します。

Safari デバッグ

Chrome Remote Web Inspector によるデバッグ

Google Chrome を使用すると、Android デバイスまたは Android エミュレーター上の Web アプリケーションをリモート側から検査することができます。
このアクションを実行するには、Android 4.4 以降、Chrome 32 以降が必要です。 さらに、AndroidManifest.xml ファイルで、targetSdkVersion = 19 以上にする必要があります。 また、project.properties ファイルで、target = 19 以上にする必要があります。

  1. Android Emulator または接続されたデバイスで、アプリケーションを開始します。
  2. Chrome で、アドレス・バーに URL chrome://inspect を入力します。
  3. 関連アプリケーションに対して「検査 (Inspect)」を押します。

Chrome Remote Web Inspector

MobileFirst ロガーによるデバッグ

Mobile Foundation には、ログ・メッセージを出力するために使用できる、WL.Logger オブジェクトが用意されています。
WL.Logger には、複数のレベルのロギング (WL.Logger.infoWL.Logger.debugWL.Logger.error) が含まれています。

詳しくは、ユーザー文書の API リファレンスの部分にある WL.Logger についての記載を参照してください。

ログの検査:

  • シミュレーターまたはエミュレーターを使用してプラットフォームをプレビューする場合は 開発者コンソール
  • Android デバイス上で実行する場合は LogCat
  • iOS デバイス上で実行する場合は XCode コンソール
  • Windows デバイス上で実行する場合は Visual Studio の出力

WireShark によるデバッグ

Wireshark は、ネットワークで発生していることを確認するために使用できるネットワーク・プロトコル・アナライザーです。
必要なものだけを追跡するようフィルターを掛けることができます。

詳しくは、WireShark Web サイトを参照してください。

WireShark

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 28, 2020