Microsoft Emulator for Windows 10 Mobile を使ったテスト

Microsoft Emulator for Windows 10 Mobile に含まれているツールを使用して、デバイスでの実際の操作をシミュレートし、アプリの機能をテストします。 エミュレーターは、Windows 10 を実行しているモバイル デバイスをエミュレートするデスクトップ アプリケーションです。 これにより、物理デバイスを使用せずに Windows アプリのデバッグとテストを行うことができる仮想環境が提供されます。 また、アプリケーションのプロトタイプ用の分離された環境も提供します。

エミュレーターは、実際のデバイスと同等のパフォーマンスを提供するように設計されています。 ただし、Microsoft Store にアプリを発行する前に、物理デバイスでアプリをテストすることをお勧めします。

一意の Windows 10 Mobile エミュレーター イメージを使用してユニバーサル アプリをテストし、さまざまな画面解像度と画面サイズの構成を行うことができます。 Microsoft Emulator に含まれているツールを使用して、デバイスとの実際の対話をシミュレートし、アプリのさまざまな機能をテストできます。

システム必要条件

コンピューターは次の条件を満たしている必要があります。

CPU (使用可能な場合、これらの設定は BIOS で有効にすることができます)

  • ハードウェア補助による仮想化。
  • Second Level Address Translation (SLAT)。
  • ハードウェアベースのデータ実行防止 (DEP)。

RAM

  • 4 GB 以上。

オペレーティング システム

  • Windows 10 またはそれ以降
  • 64 ビット
  • Pro エディション以降

Windows 10 上に Hyper-V をインストールする」を参照してください。

RAM とオペレーティング システムの要件を確認するには、[コントロール パネル] で [システムとセキュリティ] を選択し、[システム] を選択します。

Microsoft Emulator for Windows 10 Mobile には Visual Studio 2015 以降が必要です。以前のバージョンの Visual Studio との下位互換性はありません。

Microsoft Emulator for Windows 10 Mobile では、Windows Phone OS 7.1 より前のバージョンの Windows Phone OS を対象とするアプリを読み込むことができません。

エミュレーターのインストール、アンインストール、実行

インストール

Windows 10 Mobile エミュレーターは、Windows 10 SDK の一部としてリリースされています。 Windows 10 SDK とエミュレーターは、Visual Studio のインストールの一部としてインストールできます。 [Visual Studio のダウンロード] ページ を参照してください。

アンインストール

Microsoft Emulator for Windows 10 Mobile は、Visual Studio のセットアップ/修復を使用してアンインストールできます。 または、コントロール パネル[プログラムと機能] を使用してエミュレーターを削除することもできます。

Microsoft Emulator for Windows 10 Mobile をアンインストールしても、エミュレーターで使用するために作成された Hyper-V 仮想イーサネット アダプターは自動的に削除されません。 この仮想アダプターは、コントロール パネル[ネットワーク接続] から手動で削除できます。

実行中

エミュレーター内でアプリを実行するには、Visual Studio の [実行] ドロップダウン メニューからエミュレートされたデバイスを選択するだけです。

Available emulators with resolution, size, and memory

Microsoft Emulator for Windows 10 Mobile の新機能

エミュレーターでは、ユニバーサル Windows プラットフォーム (UWP) のサポートに加えて、次の機能が追加されています:

  • マウス入力モードでは、マウス入力とシングル タッチ入力を区別できます。
  • NFC サポート。 エミュレーターを使用すると、NFC をシミュレートし、NFC/近接通信対応ユニバーサル アプリをテストおよび開発できます。
  • ネイティブ ハードウェア アクセラレーションは、ローカル グラフィックス カードを使用してエミュレーターのグラフィックス パフォーマンスを向上させます。 アクセラレーションを使用するには、サポートされているグラフィックス カードをインストールし、エミュレーターの [追加のツール] 設定ユーザー インターフェイスの [センサー] タブでアクセラレーションを有効にする必要があります。

エミュレーターでテストできる機能

前のセクションで説明した新機能に加えて、Microsoft Emulator for Windows 10 Mobile で一般的に使用される次の機能をテストできます。

  • 画面の解像度、画面サイズおよびメモリ。 さまざまなエミュレーター イメージでアプリをテストし、さまざまな画面解像度、物理サイズ、メモリの制約をシミュレートすることで、アプリの広範な市場に到達します。

Available emulators with resolution, size, and memory

  • 画面構成。 エミュレーターを縦モードから横モードに変更します。 エミュレーターをデスクトップ画面に合わせてズーム設定を変更します。

  • ネットワーク。 ネットワークサポートは、Windows Phone Emulator と統合されています。 ネットワークは、既定で有効になっています。 ほとんどの環境では、Windows Phone Emulator のネットワーク ドライバーをインストールしたり、ネットワーク オプションを手動で構成したりする必要はありません。

    エミュレーターは、ホスト コンピューターのネットワーク接続を使用します。 ネットワーク上の別のデバイスとして表示されません。

  • 言語とリージョンのサポート。 Windows Phone Emulator で表示言語と地域の設定を変更して、国際市場向けにアプリを準備します。

    実行中のエミュレーターで、[設定] アプリに移動し、[システム] 設定を選択し、[言語] または [リージョン] を選択します。 テストする設定を変更します。 メッセージが表示されたら、[電話を再起動] をクリックして新しい設定を適用し、エミュレーターを再起動します。

  • アプリケーション ライフサイクルとツームストーニング イベント。 プロジェクト プロパティの [デバッグ] ページで [デバッグ中の非アクティブ化時にツームストーニング] オプションの値を変更して、非アクティブ化またはツームストーニングされた場合の動作またはアプリをテストします。

  • ローカル フォルダー ストレージ (旧称分離ストレージ)。 分離ストレージ内のデータはエミュレーターの実行中に保持されますが、エミュレーターが閉じると失われます。

  • マイク。 ホスト コンピューター上のマイクを必要とし、使用します。

  • マウス + キーボード。 エミュレーターは、開発用コンピューターのハードウェア キーボードの Windows Phone キーボードへのマッピングをサポートしています。 キーの動作は、Windows Phone デバイスの動作と同じです

  • ロック画面 エミュレーターを開いた状態で、コンピューターのキーボードで F12 キーを 2 回押します。 F12 キーは、電話の電源ボタンをエミュレートします。 最初のキーを押すと、ディスプレイがオフになります。 2 つ目のキーを押すと、ロック画面が表示され、再びディスプレイがオンになります。 マウスを使用してロック画面を上方向にスライドさせて、画面のロックを解除します。

エミュレーターでテストできない機能

物理デバイスでのみ、次の機能をテストします。

  • コンパス
  • ジャイロスコープ
  • 振動コントローラー
  • 明るさ。 エミュレーターの輝度レベルは常に [高] です。
  • 高解像度ビデオ。 VGA 解像度 (640 x 480) より高い解像度のビデオは、特にメモリが 512 MB のみのエミュレーター イメージでは、確実に表示できません。

マウス入力

Windows PC の物理マウスまたはトラックパッドとエミュレーター ツール バーのマウス入力ボタンを使用して、マウス入力をシミュレートします。 この機能は、アプリが Windows 10 デバイスとペアリングされたマウスを使用して入力を提供する機能をユーザーに提供する場合に便利です。

エミュレーター ツール バーのマウス入力ボタンをタップして、マウス入力を有効にします。 エミュレーター クロム内のクリック イベントは、エミュレーター VM 内で実行されている Windows 10 Mobile OS にマウス イベントとして送信されるようになります。

Emulator screen with mouse input enabled

マウス入力が有効になっているエミュレーター画面。

The mouse input button on the emulator toolbar

エミュレーター ツール バーのマウス入力ボタン

キーボード入力

エミュレーターは、開発用コンピューターのハードウェア キーボードの Windows Phone キーボードへのマッピングをサポートしています。 キーの動作は、Windows Phone デバイスと同じです。

既定では、ハードウェア キーボードは有効ではありません。 この実装は、使用する前に配置する必要のあるスライド キーボードと同じです。 ハードウェア キーボードを有効にするまで、エミュレーターはコントロール キーからのキー入力だけを受け入れます。

ローカライズされた Windows 開発コンピューターのキーボードの特殊文字は、エミュレーターではサポートされていません。 ローカライズされたキーボードにある特殊文字を入力するには、代わりにソフトウェア入力パネル (SIP) を使用します。

エミュレーターでコンピューターのキーボードを使うには、F4 キーを押します。

エミュレーターでコンピューターのキーボードの使用を中止するには、F4 キーを押します。

次の表は、Windows Phone 上のボタンやその他のコントロールをエミュレートするために使用できるハードウェア キーボードのキーの一覧です。

エミュレーター ビルド 10.0.14332 では、コンピューターのハードウェア キー マッピングが変更されていることに注意してください。 次の表の 2 番目の列の値は、これらの新しいキーを表します。

コンピューター ハードウェア キー (エミュレーター ビルド 10.0.14295 以前) コンピューター ハードウェア キー (エミュレーター ビルド 10.0.14332 以前) Windows Phone のハードウェア ボタン メモ
F1 WIN + ESC BACK 長押しは期待どおりに機能する。
F2 WIN + F2 スタート 長押しは期待どおりに機能する。
F3 WIN + F3 SEARCH
F4 F4: (変更なし) ローカル コンピューターのキーボードの使用と不使用を切り替えます。
F6 WIN + F6 CAMERA HALF 途中まで押された状態の専用のカメラ ボタン。
F7 WIN + F7 CAMERA FULL 専用のカメラ ボタン
F9 WIN + F9 VOLUME UP
F10 WIN + F10 VOLUME DOWN
F12 WIN + F12 POWER F12 キーを 2 回押すとロック画面が有効になる。 長押しは期待どおりに機能する。
ESC WIN + ESC BACK 長押しは期待どおりに機能する。

近距離無線通信 (NFC)

エミュレーターの [その他のツール] メニューの [NFC] タブを使って、Windows 10 Mobile で近距離無線通信 (NFC) が有効な機能を使用するアプリをビルドしてテストします。 NFC は、近接通信のシナリオ (タップから共有など) からカード エミュレーション (タップから支払いなど) まで、さまざまなシナリオに役立ちます。

エミュレーターのペアを使用して一緒にタップする電話のペアをシミュレートしてアプリをテストすることも、タグへのタップをシミュレートしてアプリをテストすることもできます。 また、Windows 10 では、モバイル デバイスは HCE (ホスト カード エミュレーション) 機能で有効になっており、電話エミュレーターを使用して、APDU コマンド応答トラフィックの支払いターミナルへのデバイスのタップをシミュレートできます。

[NFC] タブでは、次の 3 つのモードがサポートされます:

  • 近接通信モード
  • HCE (ホスト カード エミュレーション) モード
  • スマート カード リーダー モード

すべてのモードで、エミュレーター ウィンドウには 3 つの関心領域があります。

  • 左上のセクションは、選択したモードに固有です。 このセクションの機能はモードによって異なります。以下のモード固有のセクションで詳しく説明します。
  • 右上のセクションにログが一覧表示されます。 デバイスのペアを一緒にタップ (または POS ターミナルをタップ) すると、タップ イベントがログに記録され、デバイスがタップ解除されると、アンタップ イベントがログに記録されます。 このセクションでは、接続が切断される前にアプリが応答したかどうか、またはエミュレーター UI で実行したその他のアクションにタイムスタンプが付いているかどうかも記録します。 ログはモード スイッチ間で永続的であり、[ログ] 画面の上にある [クリア] ボタンを押すと、いつでもログをクリアできます。
  • 画面の下半分はメッセージ ログであり、選択されているモードに応じて、現在選択されている接続で送受信されたすべてのメッセージのトランスクリプトが表示されます。

重要 タップ ツールを初めて起動すると、Windows ファイアウォールのプロンプトが表示されます。 3 つのチェック ボックスをすべてオンにし、ファイアウォール経由でツールを許可する必要があります。そうしないとツールがサイレント モードで動作しません。

クイック スタート インストーラーを起動したら、上記の手順に従って、ファイアウォール プロンプトで 3 つのチェック ボックスをすべてオンにします。 また、タッパー ツールは、Microsoft Emulator と同じ物理ホスト コンピューターにインストールして使用する必要があります。

近接通信モード

1 組の電話を互いにタップする操作をシミュレートするには、1 組の Windows Mobile エミュレーターを起動する必要があります。 Visual Studio では同一のエミュレーターを 2 つ同時に実行することはできないため、これを回避するため、エミュレーターごとに異なる解像度を選ぶ必要があります。

The NFC Proximity page

[peer デバイスの検出を有効にする] チェック ボックスをオンにすると、[peer デバイス] ドロップダウン ボックスに、(同じ物理ホスト コンピューターまたはローカル ネットワークで実行されている) Microsoft Emulators と、シミュレーター ドライバーを実行している Windows マシン (同じコンピューターまたはローカル ネットワークで実行されている) が表示されます。

両方のエミュレーターが実行されたら:

  • [peer デバイス] リストで、対象とするエミュレーターを選択します。
  • [peer デバイスに送信] ラジオ ボタンを選択します。
  • [タップ] ボタンをクリックします。 これにより、2 台のデバイスを一緒にタップするシミュレーションが行われ、NFC タップ通知音が聞こえます
  • 2 台のデバイスを切断するには、[アンタップ] ボタンを押すだけです。

または、デバイスをタップする秒数を指定できる [自動的にタップを解除する (秒)] チェック ボックスをオンにして、指定した秒数後に自動的にタップ解除することもできます (ユーザーが実際に期待するものをシミュレートすると、電話は短時間しか一緒に保持されません)。 ただし、接続が切断された後は、現在メッセージ ログを使用できないことに注意してください。

タグからのメッセージを読み取る、または他のデバイスからメッセージを受信するには:

  • [自分に送信] ラジオ ボタンを選択して、NFC 対応デバイスを 1 つだけ必要とするシナリオをテストします。
  • [タップ] ボタンをクリックします。 タグにデバイスをタップすることをシミュレートし、NFC タップの通知音が聞こえるはずです
  • 切断するには、[アンタップ] ボタンを押すだけです。

近接通信モードを使用すると、タグまたは別のpeer デバイスから送信されたかのようにメッセージを挿入できます。 ツールを使用すると、次の種類のメッセージを送信できます。

  • WindowsURI
  • WindowsMime
  • WritableTag
  • Pairing:Bluetooth
  • NDEF
  • NDEF:MIME
  • NDEF:URI
  • NDEF:wkt.U

これらのメッセージは、[Payload] ウィンドウを編集するか、ファイルに指定して作成できます。 これらの型とその使用方法の詳細については、「[ProximityDevice.PublishBinaryMessage] リファレンス ページの [備考] セクションを参照してください。

Windows Driver Kit (WDK) には、NFC CX クライアント ドライバーのサンプルが含まれています。

ホスト カード エミュレーション (HCE) モード

ホスト カード エミュレーション (HCE) モードでは、販売時点管理 (POS) ターミナルなどのスマート カード リーダー ターミナルをシミュレートする独自のカスタム スクリプトを記述することで、HCE ベースのカード エミュレーション アプリケーションをテストできます。 このツールは、リーダー ターミナル (POS、バッジ リーダー、トランジット カード リーダーなど) とスマート カード (アプリケーションでエミュレートする) の間で送信されるコマンド応答ペア (ISO-7816-4 に準拠) について理解していることを前提としています。

The NFC HCE page

  • スクリプト エディター セクションの [追加] ボタンをクリックして、新しいスクリプトを作成します。 スクリプトの名前を指定できます。編集が完了したら、[保存] ボタンを使用してスクリプトを保存できます。
  • 保存したスクリプトは、次回エミュレーターを起動したときに使用できるようになります。
  • スクリプト エディター ウィンドウの [再生] ボタンをクリックして、スクリプトを実行します。 このアクションにより、端末に電話をタップし、スクリプトに記述されたコマンドを送信するシミュレーションが行われます。 また、[タップ] ボタンを押してから [再生] ボタンを押しても、[再生] ボタンを押すまでスクリプトは実行されません。
  • [停止] ボタンをクリックしてコマンドの送信を停止します。このボタンはアプリケーションへのコマンドの送信を停止しますが、[アンタップ] ボタンを押すまでデバイスはタップされたままになります。
  • ドロップダウン メニューでスクリプトを選択し、[削除] ボタンをクリックして、スクリプトを削除します。
  • エミュレーター ツールは、[再生] ボタンを使用してスクリプトを実行するまで、スクリプトの構文をチェックしません。 スクリプトによって送信されるメッセージは、カード エミュレーション アプリの実装によって異なります。

HCE のサポートと Windows 10 Mobile で HCE アプリを開発する方法の詳細については、「Microsoft NFC チーム ブログ」を参照してください。

HCE テスト用のスクリプトを作成する方法

スクリプトは、C# コードとして記述され、[再生] ボタンをクリックするとスクリプトの Run メソッドが呼び出されます。このメソッドは、APDU コマンドの送受信に使われる IScriptProcessor インターフェイスを取得してログ ウィンドウに出力し、電話からの APDU 応答を待機する場合のタイムアウトを制御します。

使用できる機能のリファレンスを次に示します:

        public interface IScriptProcessor
        {
            // Sends an APDU command given as a hex-encoded string, and returns the APDU response
            string Send(string s);

            // Sends an APDU command given as a byte array, and returns the APDU response
            byte[] Send(byte[] s);

            // Logs a string to the log window
            void Log(string s);

            // Logs a byte array to the log window
            void Log(byte[] s);

            // Sets the amount of time the Send functions will wait for an APDU response, after which
            // the function will fail
            void SetResponseTimeout(double seconds);
        }

スマート カード リーダー モード

エミュレーターは、挿入またはタップされたスマート カードが電話アプリケーションに表示され、Windows.Devices.SmartCards.SmartCardConnection クラスを使用して APDU と通信できるように、ホスト コンピューター上のスマート カード リーダー デバイスに接続できます。 これを機能させるには、コンピュータに接続された互換性のあるスマートカードリーダーデバイスが必要です。USB スマートカードリーダー (NFC/非接触および挿入/接触の両方) が広く利用可能です。 エミュレーターが接続されたスマート カード リーダーとやり取りできるようにするには、まずカード リーダー モードを選ぶと、ホスト システムに接続された互換性のあるスマート カード リーダーがすべて一覧表示されたドロップダウン ボックスが表示されます。次に、接続先のスマート カード リーダー デバイスをドロップダウンから選びます。

すべての NFC 対応スマート カード リーダーが一部の種類の NFC カードをサポートしているわけではないこと、および標準の PC/SC ストレージ カード APDU コマンドをサポートしていないものがあることに注意してください。

マルチポイント入力

エミュレーター ツール バーの [マルチタッチ入力] ボタンを使用して、オブジェクトをピンチ、ズーム、回転、パンするためのマルチタッチ入力をシミュレートします。 この機能は、ユーザーがピンチやズーム、回転、パンを実行できる写真、マップ、またはその他の視覚的要素をアプリに表示する場合に便利です。

  1. エミュレーター ツール バーの [マルチタッチ入力] ボタンをタップして、マルチポイント入力を有効にします。 エミュレーター画面に中心点の周りに 2 つのタッチ ポイントが表示されます。
  2. いずれかのタッチ ポイントを右クリックしてドラッグし、画面に触れずに配置します。
  3. タッチ ポイントの 1 つを左クリックしてドラッグし、ピンチとズーム、回転、パンをシミュレートします。
  4. エミュレーター ツール バーの [単一点入力] ボタンをタップして、通常の入力を復元します。

次のスクリーンショットは、マルチタッチ入力を示しています。

  1. 小さい左側の画像は、エミュレーター ツール バーの [マルチタッチ入力] ボタンを示しています。
  2. 中央の画像は、[マルチタッチ入力] ボタンをタップしてタッチ ポイントを表示した後のエミュレーター画面を示しています。
  3. 右側の画像は、タッチ ポイントをドラッグして画像をズームした後のエミュレーター画面を示しています。

Multi-point input option on the Emulator toolbar

加速度計

エミュレーターの [追加のツール][加速度計] タブを使用して、電話の動きを追跡するアプリをテストします。

ライブ入力または事前に記録された入力で加速度計センサーをテストできます。 使用できる記録済みのデータの種類は、電話をシェイクする動作をシミュレートします。 加速度計の独自のシミュレーションを記録または保存することはできません。

  1. [方向] ドロップダウン リストで、目的の開始方向を選択します。

    • 入力の種類を選択します。

      ライブ入力を使ってシミュレーションを実行するには

      加速度計シミュレーターの中央で、色付きのドットをドラッグして、3D 平面でのデバイスの動きをシミュレートします。

      水平方向のアクセスでドットを移動すると、シミュレーターが左右に回転します。 垂直アクセスでドットを移動すると、シミュレーターが x 軸を中心に回転して前後に回転します。 ドットをドラッグすると、回転計算に基づいて X、Y、Z 座標が更新されます。 タッチ パッド領域の境界円の外側にドットを移動することはできません。

      必要に応じて、[リセット] をクリックして開始方向に戻します。

    • 記録された入力を使ってシミュレーションを実行するには

      [記録されたデータ] セクションで、[再生] ボタンをクリックして、シミュレートされたデータの再生を開始します。 [記録されたデータ] リストで使用できる唯一のオプションはシェイクです。 シミュレーターは、データを再生するときに画面に移動しません。

Accelerometer page in Additional Tools for the Emulator

場所と運転

エミュレーターの [追加のツール][場所] タブを使用して、ナビゲーションまたはジオフェンシングを使用するアプリをテストします。 この機能は、現実世界と同様の状況で、運転、サイクリング、またはウォーキングをシミュレートするのに役立ちます。

異なる速度で、異なる精度プロファイルを使用して、ある場所から別の場所への移動をシミュレートしながら、アプリをテストできます。 場所シミュレーターは、ユーザー エクスペリエンスを向上させる場所 API の使用状況の変化を特定するのに役立ちます。 たとえば、このツールは、さまざまなシナリオでジオフェンスを正常に検出するために、サイズやドウェル時間などのジオフェンス パラメーターを調整する必要があることを特定するのに役立ちます。

[場所] タブでは、3 つのモードがサポートされています。 すべてのモードで、エミュレーターが新しい位置を受け取ると、その位置を使用して PositionChanged イベントをトリガーしたり、場所に対応するアプリで GetGeopositionAsync 呼び出しに応答したりできます。

  • ピン モードでは、マップにプッシュピンを配置します。 [すべてのポイントを再生] をクリックすると、位置シミュレーターによって、各ピンの位置が、[ピンごとの秒] テキスト ボックスに指定された間隔でエミュレーターに 1 つずつ送信されます。

  • ライブ モードでは、マップにプッシュピンを配置します。 位置シミュレーターは、マップ上に配置するとすぐに各ピンの位置をエミュレーターに送信します。

  • ルート モードでは、ウェイポイントを示すプッシュピンをマップに配置すると、位置シミュレーターによってルートが自動的に計算されます。 ルートには、ルートに沿って 1 秒間隔で非表示のピンが含まれます。 たとえば、1 時間あたり 5 キロメートルの速度を想定する [ウォーキング] 速度プロファイルを選択した場合、非表示ピンは 1.39 メートルの間隔で生成されます。 [すべてのポイントを再生] をクリックすると、場所シミュレーターは、ドロップダウン リストで選択した速度プロファイルによって決定される間隔で、各ピンの位置をエミュレーターに 1 つずつ送信します。

位置シミュレーターのすべてのモードで、次のことを実行できます。

  • [検索] ボックスを使用して、場所を検索できます。

  • マップ上で 拡大および縮小できます。

  • 現在のデータ ポイントのセットを XML ファイルに保存し、後でファイルを再読み込みして同じデータ ポイントを再利用できます。

  • [プッシュピン モードのオンとオフを切り替え] たり、[すべてのポイントをクリア] したりできます。

ピン留めモードとルート モードでは、次の操作を行うこともできます。

  • 後で使用するために作成したルートを保存します。

  • 以前に作成したルートを読み込みます。 以前のバージョンのツールで作成されたルート ファイルを読み込むことさえできます。

  • プッシュピン (ピン モード) またはウェイポイント (ルート モード) を削除してルートを変更します。

精度プロファイル

位置シミュレーターのすべてのモードで、[精度プロファイル] ドロップダウン リストで次のいずれかの精度プロファイルを 選択できます。

プロファイル 説明
Pinpoint 完全に正確な位置の読み取り値を想定します。 この設定は現実的ではありませんが、アプリのロジックをテストする場合に便利です。
Urban 建物が視界に入る衛星の数を制限していると仮定しているが、測位に使用できるセルタワーや Wi-Fi アクセスポイントは高密度に存在することがよくあります。
郊外 衛星の位置決めは比較的良好であり、セル タワーの密度は良好ですが、Wi-Fi アクセス ポイントの密度は高くないと想定します。
地方 衛星の配置は良好ですが、セル タワーの密度が低く、配置に使用できる Wi-Fi アクセス ポイントはほとんどないと想定しています。

速度プロファイル

ルート モードでは、ドロップダウン リストで次のいずれかの速度プロファイルを選択できます。

プロファイル 1 時間あたりの速度 1 秒あたりの速度 説明
速度制限 ルートの速度制限 利用不可 投稿された制限速度でルートを横断します。
ウォーキング 5 km/h 1.39 m 5km/h の自然な歩行ペースでルートを横断します。
サイクリング 25 km/h 6.94 m 時速 25 km の自然なサイクリングペースでルートを横断します。
高速 投稿された速度制限よりも速くルートを横断します。

ルート モード

ルート モードには、次の機能と制限があります。

  • ルート モードにはインターネット接続が必要です。

  • Urban、Suburban、または Rural の精度プロファイルが選択されている場合、位置シミュレーターは、シミュレートされた衛星ベースの位置、シミュレートされた Wi-Fi 位置、および各ピンのシミュレートされた携帯ネットワーク位置を計算します。 アプリが受け取る位置は、次のいずれか 1 つだけです。 現在の位置の 3 つの座標セットは、マップと [現在の場所] リストに異なる色で表示されます。

  • ルートに沿ったピンの精度が均一ではありません。 一部のピンは衛星精度を使用し、一部は Wi-Fi 精度を使用し、一部は携帯電話の精度を使用します。

  • ルートに対して 20 を超えるウェイポイントを選択することはできません。

  • マップ上の表示ピンと非表示ピンの位置は、新しい精度プロファイルを選択すると 1 回だけ生成されます。 同じエミュレーター セッション中に同じ精度プロファイルでルートを複数回再生すると、以前に生成された位置が再利用されます。

次のスクリーンショットは、ルート モードを示しています。 オレンジ色の線はルートを示します。 青い点は、衛星ベースの位置によって決定される自動車の正確な位置を示します。 赤と緑のドットは、Wi-Fi と携帯ネットワークの位置と郊外の精度プロファイルを使用して計算された精度の低い場所を示します。 計算された 3 つの場所は、[現在の場所] リストにも表示されます。

Location page in Additional Tools for the Emulator

位置シミュレーターの詳細

  • 精度が [既定値] に設定された位置を要求できます。

  • エミュレーターでジオフェンスをテストするときは、ジオフェンス エンジンに “ウォーミングアップ” 期間を与えるシミュレーションを作成し、移動パターンを把握して調整します。

  • シミュレートされる位置プロパティは、緯度、経度、精度、PositionSource のみです。 位置シミュレーターでは、速度、見出しなどの他のプロパティはシミュレートされません。

ネットワーク

エミュレーターの [追加のツール][ネットワーク] タブを使用して、さまざまなネットワーク速度と信号強度でアプリをテストします。 この機能は、アプリが Web サービスを呼び出したり、データを転送したりする場合に便利です。

ネットワーク シミュレーション機能を使用すると、アプリが実際の世界で適切に動作することを確認できます。 Windows Phone エミュレーターは、通常、高速の WiFi またはイーサネット接続を備えるコンピューター上で実行されます。 ただし、アプリは通常、低速の携帯ネットワーク接続経由で接続されている電話で実行されます。

  1. [ネットワーク シミュレーションを有効にする] をオンにして、さまざまなネットワーク速度と異なる信号強度でアプリをテストします。

  2. [ネットワーク速度] ドロップダウン リストで、次のいずれかのオプションを選択します:

    • ネットワークなし
    • 2G
    • 3G
    • 4 G
  3. [シグナル強度] ドロップダウン リストで、次のいずれかのオプションを選択します:

    • 良好
    • Average
    • 悪い
  4. [ネットワーク シミュレーションを有効にする] をオフにして、開発用コンピューターのネットワーク設定を使用する既定の動作を復元します。

[ネットワーク] タブで現在のネットワーク設定を確認することもできます。

Network page in Additional Tools for the Emulator

SD カード:

エミュレーターの [追加のツール][SD カード] タブを使用して、シミュレートされたリムーバブル SD カードでアプリをテストします。 この機能は、アプリがファイルの読み取りまたは書き込みを行う場合に便利です。

SD Card page in Additional Tools for the Emulator

[SD カード] タブでは、開発用コンピューター上のフォルダーを使用して、電話のリムーバブル SD カードをシミュレートします。

  1. フォルダーを選択します

    [参照] をクリックして開発用コンピューター上のフォルダーを選択し、シミュレートされた SD カードの内容を保持します。

  2. SD カードを挿入します

    フォルダーを選択したら、[SD カードの挿入] をクリックします。 SD カードを挿入すると、次の処理が行われます:

    • フォルダーを指定しなかった場合、またはフォルダーが無効な場合は、エラーが発生します。
    • 開発用コンピューター上の指定したフォルダー内のファイルは、エミュレーター上のシミュレートされた SD カードのルート フォルダーにコピーされます。 進行状況バーは、同期操作の進行状況を示します。
    • [SD カードの挿入] ボタンが [SD カード の取り出し] に変わります。
    • 同期操作の進行中に [SD カードの取り出し] をクリックすると、操作は取り消されます。
  3. 必要に応じて、[SDカードを取り出すときに、更新されたファイルをローカルフォルダに同期し戻す] を選択または選択解除します。

    既定では、このオプションは有効になっています。 このオプションを有効にすると、SD カードを取り出すと、エミュレーターから開発用コンピューター上のフォルダーにファイルが同期されます。

  4. SD カードを取り出します

    [SD カードの取り出し] をクリックします。 SD カードを取り出すと、次のことが発生します:

    • SDカードを取り出すときに [更新されたファイルをローカルフォルダに同期し戻す] を選択した場合、次のことが発生します:
      • エミュレーター上のシミュレートされた SD カード上のファイルは、開発用コンピューター上の指定されたフォルダーにコピーされます。 進行状況バーは、同期操作の進行状況を示します。
      • [SD カードの取り出し] ボタンが [同期の取り消し] に変わります。
      • 同期操作の進行中に [同期のキャンセル] をクリックすると、カードが取り出され、同期操作の結果が不完全になります。
    • [SD カードの取り出し] ボタンが [SD カードの挿入] に戻ります。

電話に使われる SD カードは FAT32 ファイル システムでフォーマットされているため、最大サイズは 32 GB です。

シミュレートされた SD カードとの間の読み取りと書き込みの速度は、実際の速度を模倣するために調整されます。 SD カードへのアクセスは、コンピュータのハードドライブにアクセスするよりも遅くなります。

通知

エミュレーターの [追加のツール][通知] タブを使用して、アプリにプッシュ通知を送信します。 この機能は、アプリがプッシュ通知を受信する場合に便利です。

アプリを発行した後に必要な動作するクラウド サービスを作成しなくても、プッシュ通知を簡単にテストできます。

  1. シミュレーションを有効にします。

    [有効] を選択すると、シミュレーションを無効にするまで、エミュレーターにデプロイされているすべてのアプリで WNS または MPN サービスの代わりにシミュレーション エンジンが使用されます。

  2. 通知を受け取るアプリを選びます。

    [AppId] リストには、プッシュ通知が有効になっているエミュレーターにデプロイされたすべてのアプリが自動的に設定されます。 ドロップダウン リストからアプリを選択します。

    シミュレーションを有効にした後で別のプッシュ対応アプリをデプロイする場合は、[最新の情報に更新] をクリックしてアプリをリストに追加します。

  3. 通知チャネルを選びます。

    [AppId] リストでアプリを選択すると、選択したアプリに登録されているすべての通知チャネルが [URI] リストに自動的に設定されます。 ドロップダウン リストで通知チャネルを選択します。

  4. 通知の種類を選びます。

    [URI] リストで通知チャネルを選択すると、[通知の種類] リストに、通知サービスで使用可能なすべての種類が自動的に設定されます。 ドロップダウン リストで通知の種類を選択します。

    シミュレーターでは、通知チャネルの URI 形式を使用して、アプリが WNS プッシュ通知と MPN プッシュ通知のどちらを使用しているかを判断します。

    シミュレーションでは、すべての通知の種類がサポートされます。 既定の通知の種類は [タイル] です。

    • 次の WNS 通知の種類がサポートされています。

      • 直接

      • トースト

        アプリで WNS 通知を使用し、[トースト] 通知の種類を選択すると、[シミュレーション] タブに [タグ] フィールドと [グループ] フィールドが表示されます。 これらのオプションを選択し、[タグ][グループ] の値を入力して、通知センターでトースト通知を管理できます。

      • タイル

      • バッジ

    • 次の MPN 通知の種類がサポートされています。

      • 直接
      • トースト
      • タイル
  5. 通知テンプレートを選びます。

    [通知の種類] リストで通知の種類を選択すると、通知の種類に使用できるすべてのテンプレートが [テンプレート] リストに自動的に設定されます。 ドロップダウン リストでテンプレートを選択します。

    シミュレーションでは、すべてのテンプレートの種類がサポートされます。

  6. 必要に応じて、通知のペイロードを変更します。

    [テンプレート] リストでテンプレートを選択すると、[通知ペイロード] テキスト ボックスにテンプレートのサンプル ペイロードが自動的に設定されます。 [通知ペイロード] テキスト ボックスでサンプル ペイロードを確認します。

    • サンプル ペイロードは変更せずに送信できます。

    • テキスト ボックスでサンプル ペイロードを編集できます。

    • [読み込み] をクリックすると、テキストまたは XML ファイルからペイロードを読み込むことができます。

    • [保存] をクリックすると、ペイロードの XML テキストを保存して、後でもう一度使用できます。

    シミュレーターでは、ペイロードの XML テキストは検証されません。

  7. プッシュ通知を送信します。

    [送信] をクリックして、選択したアプリにプッシュ通知を配信します。

    成功または失敗を示すメッセージが画面に表示されます。

Notifications page in Additional Tools for the Emulator

センサー

エミュレーターの [その他のツール][センサー] タブを使用して、オプションのセンサーやカメラの機能がすべて備わっていない低コストの電話でアプリがどのように動作するかをテストします。 この機能は、アプリがカメラまたは電話のセンサーの一部を使用していて、アプリが可能な限り最大の市場に到達する場合に便利です。

  • 既定では、すべてのセンサーが [オプション センサー] リストで有効になっています。 個々のチェック ボックスをオンまたはオフにして、個々のセンサーを有効または無効にします。
  • 選択内容を変更したら、[適用] をクリックします。 その後、エミュレーターを再起動する必要があります。
  • 変更を加えた後、[適用] をクリックせずにタブを切り替えたり、[追加のツール] ウィンドウを閉じたりすると、変更は破棄されます。
  • エミュレーター セッションの間の設定は、変更またはリセットするまで保持されます。 チェックポイントをキャプチャすると、設定がチェックポイントと共に保存されます。 設定は使用している特定のエミュレーターでのみ保持されます。

Sensors page in Additional Tools for the Emulator

センサーのオプション

次のオプションのハードウェア センサーを有効または無効にすることができます:

  • 環境光センサー
  • 前面カメラ
  • ジャイロスコープ
  • コンパス (磁力計)
  • NFC
  • ソフトウェア ボタン (一部の高解像度エミュレーター画像でのみ)

カメラのオプション

オプションの前面カメラを有効または無効にするには、[オプション センサー] リストのチェック ボックスをオンまたはオフにします。

[Camera] (カメラ) ドロップダウン リストからいずれかのカメラ プロファイルを選ぶこともできます。

フレーム レート カウンター

実行中のアプリのパフォーマンスを監視するには、Windows Phone エミュレーターのフレーム レート カウンターを使用します。

Frame rate counters in Windows Phone emulator

フレーム レート カウンターの説明

次の表では、各フレーム レート カウンターについて説明します。

フレーム レート カウンター 説明
コンポジション (レンダリング) スレッド フレーム レート (FPS) 画面が更新される速度。
ユーザー インターフェイス スレッド フレーム レート (FPS) UI スレッドが実行されている速度。
テクスチャ メモリ使用量 アプリで使用されているテクスチャのビデオ メモリとシステム メモリのコピー。
表面カウント 処理のために GPU に渡される明示的なサーフェスの数。
中間サーフェス カウンター キャッシュされたサーフェスの結果として生成される暗黙的なサーフェスの数。
画面の塗りつぶし率カウンター 画面の観点から、フレームごとに描画されるピクセル数。 値 1 は現在の画面解像度のピクセル数、たとえば 480 x 800 ピクセルを表します。

フレーム レート カウンターを有効/無効にする

コード内のフレーム レート カウンターの表示を有効または無効にすることができます。 Visual Studio で Windows Phone アプリ プロジェクトを作成すると、フレーム レート カウンターを有効にする次のコードが App.xaml.cs ファイルに既定で追加されます。 フレーム レート カウンターを無効にするには、EnableFrameRateCounter[false] に設定するか、コード行をコメント アウトします。

// Show graphics profiling information while debugging.
if (System.Diagnostics.Debugger.IsAttached)
{
   // Display the current frame rate counters.
   Application.Current.Host.Settings.EnableFrameRateCounter = true;
   
   // other code…
}
' Show graphics profiling information while debugging.
If System.Diagnostics.Debugger.IsAttached Then

   ' Display the current frame rate counters.
   Application.Current.Host.Settings.EnableFrameRateCounter = True

   ' other code...
End If

既知の問題

エミュレーターに関する既知の問題を次に示します。問題が発生した場合に回避する方法が推奨されます。

エラー メッセージ: "仮想イーサネット スイッチの削除中にエラーが発生しました"

新しい Windows 10 Insider Preview ビルドへの更新後など、状況によっては、エミュレーターに関連付けられている仮想ネットワーク スイッチが、ユーザー インターフェイスを使って削除できなくなることがあります。

この状況から回復するには、管理者のコマンド プロンプトから "netcfg -d" を実行します: C:\Program Files (x86)\Microsoft XDE\<version>\XdeCleanup.exe。 コマンドの実行が完了したら、コンピューターを再起動して回復プロセスを完了します。

このコマンドでは、エミュレーターに関連付けられているものだけでなく、すべてのネットワーク デバイスが削除されます。 コンピューターが再び起動すると、すべてのハードウェア ネットワーク デバイスが自動的に検出されます。  

エミュレーターを起動できない

Microsoft Emulator には、すべての VM、差分ディスク、エミュレーター固有のネットワーク スイッチを削除するツールである XDECleanup.exe が含まれており、エミュレーター (XDE) バイナリに既に付属しています。 エミュレーター VM が正しくない状態に陥った場合は、このツールを使用してクリーンアップする必要があります。 管理者コマンド プロンプトからツールを実行します: C:\Program Files (x86)\Microsoft XDE\<version>\XdeCleanup.exe

XDECleanup.exe では、エミュレーター固有のすべての Hyper-V VM のほか、VM チェックポイントや保存された状態も削除されます。

Windows 10 for Mobile イメージのアンインストール

エミュレーターをインストールすると、Windows 10 for Mobile VHD イメージがインストールされ、コントロール パネルの [プログラムと機能] リストに独自のエントリが表示されます。 このイメージをアンインストールするには、インストールされているプログラムの一覧で [Windows 10 for Mobile Image -<version>] を見つけて右クリックし、[アンインストール] を選択します。

現在のリリースでは、エミュレーターの VHD ファイルを手動で削除する必要があります。 エミュレーターを既定のパスにインストールした場合、VHD ファイルは、C:\Program Files (x86)\Windows Kits\10\Emulation\Mobile\<version>\flash.vhd にあります。

ハードウェア アクセラレータ グラフィックスを無効にする方法

既定では、Windows 10 Mobile Emulator ではハードウェア アクセラレータ グラフィックスが使用されます。 ハードウェア アクセラレーションを有効にしてエミュレーターを起動できない場合は、レジストリ値を設定して無効にすることができます。

ハードウェア アクセラレーションを無効にするには:

  1. レジストリ エディターを起動します。
  2. 存在しない場合は、次のレジストリ サブキーを作成します: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Xde\10.0
  3. 10.0 フォルダーを右クリックし、[新規] をポイントして、[DWORD 値] をクリックします。
  4. DisableRemoteFx」と入力し、Enter キーを押します。
  5. DisableRemoteFx をダブルクリックし、[値] データ ボックスに「1」と入力し、[10 進] オプションを選択して、[OK] をクリックします。
  6. レジストリ エディタを閉じます。

注: このレジストリ値を設定した後、Visual Studio で起動した構成について、Hyper-V マネージャーで仮想マシンを削除し、ソフトウェア レンダリングされたグラフィックを使ってエミュレーターを再起動します。

サポート リソース

Windows 10 ツールの使用を開始するときに回答を見つけて問題を解決するには、Windows 10 ツール フォーラムにアクセスしてください。 Windows 10 開発のすべてのフォーラムについては、このリンクを参照してください。