LoginSignup
6
5

More than 5 years have passed since last update.

ビルド時の情報をアプリ側から確認できるようにする

Posted at

環境

 Unity5.3.2f1で確認

前書き

 プロジェクトの進行がゴタゴタしてくると
「このビルドほんとにこの設定で出力したヤツ? ってか何時の?」
「いやちょっとわかんないっす」
 みたいなやり取りが発生して辛かった記憶があるので幸せになる為の方法を調べました。
 デバッグ用のスクリーンショットを出力する時にでも一緒に表示させておくとデバッグが楽になると思います。

やりたいこと

  • ビルド時のタイムスタンプとシンボル定義をコードから参照出来る形で生成する

サンプル

BuildInfoGenerator.cs
using UnityEditor;
using System.IO;

public class BuildInfoGenerator {
    const string TEMPLETE = @"
public class BuildInfo {{
    public const string BUILD_SYMBOLS = ""{0}"";
    public const string BUILD_TIMESTAMP = ""{1}"";
}}
";

    [MenuItem("Tool/MakeBuildInfo")]
    public static void MakeBuildInfo() {
        File.WriteAllText(
            "Assets/BuildInfo.cs",
            string.Format(TEMPLETE, new string[] {
                PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone),
                System.DateTime.Now.ToString("yyMMdd_HHmm")
            }));
    }
}

上記のスクリプトをメニューから実行すると以下のようなスクリプトが生成されるので、これをアプリ側から参照して画面に表示するなどします。

BuildInfo.cs
public class BuildInfo {
    public const string BUILD_SYMBOLS = "TEST1;TEST2";
    public const string BUILD_TIMESTAMP = "160218_1812";
}

※Unityにはビルド前のフックが存在しないので、ビルドのパターンを定義して一発で出力すると組み合わせて使用します。

あとがき

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5