MRが楽しい

MRやVRについて学習したことを書き残す

HoloLens2アプリでアプリケーションのバージョン番号を取得して表示する

本日は HoloLens2 の技術調査枠です。
HoloLens2アプリでアプリケーションのバージョン番号を取得して表示する方法を記事にします。
f:id:bluebirdofoz:20211208001713j:plain

アプリケーションのバージョン番号

UWP アプリケーションのバージョン番号は appxmanifest ファイルで定義される 4 つ整数で構成される番号です。
f:id:bluebirdofoz:20211208001723j:plain

バージョン番号の取得方法

アプリケーションのバージョンは PackageVersion 構造体で取得できます。
docs.microsoft.com
docs.microsoft.com

現在のアプリケーションのバージョンを取得する場合は以下の通り、バージョンを取得できます。

Windows.ApplicationModel.PackageVersion version =
    Windows.ApplicationModel.Package.Current.Id.Version;
ushort majorVer = version.Major; // メジャーバージョン
ushort minorVer = version.Minor; // マイナーバージョン
ushort buildVer = version.Build; // ビルドバージョン
ushort revisionVer = version.Revision; // リビジョンバージョン

・Package Class
https://docs.microsoft.com/en-us/uwp/api/Windows.ApplicationModel.Package

サンプルスクリプト

バージョン番号を取得して文字列に成形しなおして Text に表示するサンプルスクリプトを作成しました。
・ShowCurrentVersion.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ShowCurrentVersion : MonoBehaviour
{
    [SerializeField, Tooltip("表示テキスト")]
    private Text p_ShowText;

    /// <summary>
    /// バージョンをテキストに表示する
    /// </summary>
    public void SetMessageCurrentVersion()
    {
        string showMessage = "";
#if WINDOWS_UWP
        Windows.ApplicationModel.PackageVersion version =
            Windows.ApplicationModel.Package.Current.Id.Version;
        ushort majorVer = version.Major; // メジャーバージョン
        ushort minorVer = version.Minor; // マイナーバージョン
        ushort buildVer = version.Build; // ビルドバージョン
        ushort revisionVer = version.Revision; // リビジョンバージョン

        showMessage = string.Format("{0}.{1}.{2}.{3}", majorVer, minorVer, buildVer, revisionVer);
#else
        showMessage = "Nothing";
#endif
        p_ShowText.text = showMessage;
    }
}

スクリプトをオブジェクトに設定してバージョン番号を表示する Text コンポーネントへの参照を追加します。
f:id:bluebirdofoz:20211208001755j:plain

ボタン押下時に 関数を呼び出すようにして準備完了です。
f:id:bluebirdofoz:20211208001803j:plain

動作確認

アプリケーションを HoloLens2 にデプロイして動作を確認します。
ボタンをタップすると appxmanifest で設定したアプリケーションのバージョンが表示されます。
f:id:bluebirdofoz:20211208001812j:plain