Windows Phone 8.1: デバッグ
Universal Windows 10 アプリケーション:はじめに

Windows 8.1 ユニバーサルアプリケーション

Windows 8.1 ユニバーサルアプリケーションとは、Windows と Windows Phone 向けのアプリを 1 つの Visual Studio 内のプロジェクトで作成する手法です。その中には Windows8.1 用や Windows Phone 用・デスクトップ向け・ラップトップ向け・タブレット用・電話向けも含まれます。それはプラットフォームにおける無駄な動作を収束させダイレクトに結果へ反映されます。

Windows 8.1 ユニバーサルアプリケーションについてさらに情報をお求めであれば、下記のページを参照してください。(http://dev.windows.com/en-us/develop/Building-universal-Windows-apps)

ビルドウィンドウで “Universal 8.1” SDK を選択すると、Unity でユニバーサル Windows ストア/Phone 8.1 向けアプリをビルドすることが可能になります。プロジェクトのビルドに際して Unity は Universal Visual Studio プロジェクトを作成します。これを Windows と Windows Phone デバイスの両方に向けてビルドすることができます。

どのような仕組みなのですか?

Windows Phone 8.1 と Windows 8.1 はいまだバイナリ互換ではありません。つまり、ポータブルクラス ライブラリでない限り、単一の DLL を両方のプラットフォームで実行することができません。これは、プラットフォーム固有の API(Windows Phone の SMS API や Windows のマウス API 等)にアクセスできないことを意味します。したがって Unity では二つのバージョンのアセンブリをコンパイルします。

Phone 向けにコンパイルされたアセンブリと、ストア向けにコンパイルされたアセンブリの主な違いは、プリプロセッサ指示文とターゲット SDK の二つです。Windows が Windows .NET Core をターゲットにする一方、Phone は Phone .NET Core をターゲットにします。両者にはわずかな相違点がいくつかありますが、ほぼ同一のものです。

Universal Project フォルダーの構造は以下のようになっています。

UniversalApp1 - (solution directory)
    UniversalApp1.Windows - (here goes windows specific files, all Windows DLLs)
        -
        -
        -
    UniversalApp1.WindowsPhone - (here goes windows phone specific files, all Windows Phone DLLs)
        -
        -
        -
    UniversalApp1.Shared - (here goes shared files)
        -
        -
        -

Universal アプリをビルドすると、同一のプロジェクトから二つのバイナリが作成されます。そのひとつは Windows 用、もうひとつは Windows Phone 用です。どちらの AppX パッケージにも、他のプラットフォームから残された重複ファイルが含まれることはありません。これはプロジェクトの構造のおかげです。

Windows Phone 8.1: デバッグ
Universal Windows 10 アプリケーション:はじめに