シミュレーターで UWP アプリを実行する

UWP アプリ用の Visual Studio シミュレーターは、UWP アプリをシミュレートするデスクトップ アプリケーションです。 通常は、ローカル コンピューター、接続されているデバイス、またはリモート コンピューター上でデバッグします。 ただし、シナリオによっては、Visual Studio シミュレーターを使用して、さまざまな物理的な画面サイズと解像度をエミュレートすることをお勧めします。 また、一般的なタッチ イベントとローテーション イベントや、ネットワーク接続プロパティをシミュレートすることもできます。

シミュレーターは、UWP アプリを設計、開発、デバッグ、テストできる環境を提供します。 ただし、Microsoft Store にアプリを発行する前に、実際のデバイスでアプリをテストする必要があります。

UWP アプリ用の Visual Studio シミュレーターは、ローカル コンピューターの分離環境では実行されません。 したがって、シミュレーターで発生したエラー (回復できないシステム エラーなど) がコンピューター全体に影響を与える場合があります。

シミュレーターをターゲットとして設定する

UWP アプリをシミュレーターで実行するには、デバッガーの [標準] ツール バーの [デバッグの開始] ボタンの横にあるドロップダウン リストの [シミュレーター] をクリックします。 このオプションは、アプリの [ターゲット プラットフォームの最小バージョン] がご使用の開発マシンのオペレーティング システム以下である場合にのみ使用できます。

Running in the Simulator

対話モードを選択する

次の対話モードを選択できます。

  • Mouse mode button マウス モード: 対話モードをマウス ジェスチャに設定します。 マウス ジェスチャには、クリック、ダブルクリック、およびドラッグがあります。

  • Start touch emulation button タッチ エミュレーションを開始します: 対話モードを 1 本の指のタッチ ジェスチャに設定します。 1 本指のイベントには、タップ、ドラッグ、およびスワイプがあります。

    Simulator one finger target

    シングル ターゲット アイコンは、シミュレーター内のイベントの位置を示します。 ポインターを配置するには、マウスを使用します。

    One finger touch target

    タッチ モードをアクティブにするには、マウスの左ボタンを押します。 たとえば、タップをシミュレートする場合はボタンをクリックし、ドラッグまたはスワイプする場合はボタンを長押しします。

ピンチとズーム

対話モードを、2 本の指によるピンチ ジェスチャとズーム ジェスチャに設定します。

Simulator two finger target

ダブル ターゲット アイコンは、デバイス画面上の 2 本の指の位置を示します。

  • デバイス画面上のオブジェクトの上にアイコンを配置するには、マウスを移動します。

  • ピンチまたはズームを実行する前の 2 本の指のシミュレートされる距離を変更するは、マウス ホイールを前方または後方に回転させます。

Pinch, zoom, and rotate targets

  • 縮小 (ピンチ) する場合は、左ボタンを押し、ホイールを後方 (手前) に回転させます。

  • 拡大 (ズーム) する場合は、左ボタンを押し、マウス ホイールを前方 (奥) に回転させます。

オブジェクトの回転

[タッチ エミュレーションの回転] ボタンは、対話モードを、2 本の指による回転ジェスチャに設定します。

  • デバイス画面上のオブジェクトの上にアイコンを配置するには、マウスを移動します。 オブジェクトの回転を実行する前の 2 本の指のシミュレートされる方向を変更するは、マウス ホイールを前方または後方に回転させます。

  • オブジェクトを反時計回りに回転させる場合は、左ボタンを押し、ホイールを後方 (手前) に回転させます。 マウス ホイールを回転させると、回転の相対サイズを示すために、2 つのターゲット アイコンのいずれかが他方のアイコンを中心として回転します。

  • オブジェクトを時計回りに回転させる場合は、左ボタンを押し、マウス ホイールを前方 (奥) に回転させます。

[常に手前に表示] モードを有効または無効にする

シミュレーター ウィンドウが常に他のウィンドウの上に表示されるように設定できます。 [最前面に表示するウィンドウの切り替え] ボタンは、シミュレーター ウィンドウの [常に手前に表示] モードを有効または無効にします。

デバイスの方向を変更する

シミュレーターを任意の方向に 90 度回転させることで、デバイスの方向を縦長と横長の間で切り替えることができます。

Note

シミュレーターでは、プロジェクトのプロパティ DisplayProperties.AutoRotationPreferences は考慮されません。 たとえば、プロジェクトで方向が Landscapeに設定されている場合でも、シミュレーターの方向を回転させて縦向きにすると、シミュレーターに表示されるイメージも回転され、サイズが変更されます。 実際のデバイスでこれらの設定をテストしてください。

Note

シミュレーターを回転させたときに、シミュレーターの 1 つの辺がシミュレーターを表示している画面よりも大きくなる場合、シミュレーターのサイズは画面に収まるように自動的に変更されます。 シミュレーターは、再度回転させた場合でも、元のサイズに戻ることはありません。

シミュレートされる画面のサイズと解像度を変更する

シミュレートされる画面のサイズと解像度を変更するには、パレットの [解像度の変更] ボタンをクリックし、一覧から新しいサイズと解像度を選びます。

画面サイズと解像度は 画面の幅 (インチ)、ピクセル幅 X ピクセル高さで一覧表示されます。 画面のサイズと解像度の両方がシミュレートされます。 シミュレーター上の位置座標は、選択したデバイスのサイズと解像度に変換されます。

Note

ビットマップ イメージのスケーリングされたバージョンをアプリに保存できます。Windows は、現在のスケールで正しいイメージを読み込みます。 ただし、Windows によって解像度に合ったイメージが選択されるようにシミュレーターの解像度を変更した場合、新しいイメージを表示するにはデバッグ セッションを停止して再度開始する必要があります。

Microsoft Store に提出するアプリのスクリーンショットをキャプチャする

Microsoft Store にアプリを送信するときは、アプリのスクリーンショットを含める必要があります。

Note

スクリーンショットは、シミュレーターの現在の解像度で保存されます。 解像度を変更するには、 [解像度の変更] ボタンをクリックします。

  • シミュレーターからアプリのスクリーンショットを作成するには、 [クリップボードにスクリーンショットをキャプチャします] ボタンをクリックします。

  • スクリーンショットの配置場所を設定するには、 [スクリーンショットの設定] ボタンをクリックし、ショートカット メニューから場所を選択します。

    Screenshot settings context menu

ネットワーク接続のプロパティをシミュレートする

アプリケーションのユーザーがネットワーク接続コストやデータ プランの状態の変化を認識し、アプリケーションがその情報を使用して、ローミングや指定されたデータ転送の制限の超過による追加コストの発生を避けることにより、アプリケーションのユーザーが従量制課金接続のコストを管理できるようにします。 Windows.Networking.Connectivity API を使用すると、 NetworkStatusChanged および署名を行うイベント TriggerType に応答できます。 「 従量制課金接続のコスト制約を管理する方法 (HTML)」をご覧ください。

ご利用のネットワーク コストを認識するコードをデバッグまたはテストするには、シミュレーターを使って、GetInternetConnectionProfile によって返される ConnectionProfileオブジェクトを通じて公開されるネットワークのプロパティを模倣します。

ネットワークのプロパティをシミュレートするには、次のようにします。

  1. シミュレーターのツール バーの [ネットワーク プロパティの変更] ボタンをクリックします。

  2. [ネットワーク プロパティの設定] ダイアログ ボックスの [シミュレートされたネットワーク プロパティの使用]をクリックします。

    チェック ボックスをオフにしてシミュレーションを削除し、現在接続されているインターフェイスのネットワーク プロパティに戻ります。

  3. シミュレートされたネットワークの [プロファイル名] を入力します。 ConnectionProfile オブジェクトの ProfileName プロパティでシミュレーションを識別するために使用できる一意の名前を使用することをお勧めします。

  4. [ネットワーク コストの種類] の一覧からプロファイルの NetworkCostType 値を選択します。

  5. [データの限度の状態フラグ] の一覧から、ApproachingDataLimit プロパティまたは OverDataLimit プロパティを true に設定できます。または、[データの限度を下回っています] を選択すると、両方の値を false に設定できます。

  6. [ローミングの状態] の一覧から、 Roaming プロパティを設定します。

  7. [プロパティの設定] をクリックして、前景の NetworkStatusChanged イベントおよび NetworkStateChange 型の背景の SystemTriggerをトリガーして、ネットワーク プロパティをシミュレートします。

ネットワーク接続の管理の詳細については、以下を参照してください。

従量制課金接続のコスト制約を管理する方法 (HTML)

ネットワーク情報のサンプル

Windows.Networking.Connectivity

バックグラウンド タスクでシステム イベントに応答する方法

UWP アプリで中断イベント、再開イベント、およびバックグラウンド イベントをトリガーする方法

キーボードを使用してシミュレーター内を移動する

Ctrl + Alt + 上矢印キーを押してシミュレーター ウィンドウからシミュレーター ツールバーにフォーカスを切り替えて、シミュレーター ツールバーをナビゲートできます。 ツール バーのボタンの間を移動するには、 上向きの矢印下向きの矢印 を使用します。

シミュレーターを終了するには、 Ctrl + Alt + F4 キーを押します。