🍎

Apple Vision ProのTestFlightで「輸出コンプライアンスがありません」を表示されないようにする方法

に公開

概要

  • UnityでiOSやApple Vision Proのアプリを作成していると、TestFlightにアプリを登録するたびに、輸出コンプライアンス情報の回答を行う必要が発生し面倒です。
  • info.plist に ITSAppUsesNonExemptEncryption の値を事前に設定しておくことで、回避できます。
  • Editor拡張での実装サンプルを紹介します。

実際のコードサンプル

  • OnPostBuildProcess.cs
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
#if UNITY_IOS || UNITY_VISIONOS
using UnityEditor.iOS.Xcode;
#endif
using System.IO;
public class OnPostBuildProcess : MonoBehaviour
{
    [PostProcessBuild]
    public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
    {
        if (buildTarget == BuildTarget.VisionOS || buildTarget == BuildTarget.iOS)
        {
#if UNITY_IOS || UNITY_VISIONOS
            var plistPath = Path.Combine(path, "Info.plist");
            var plist = new PlistDocument();
            plist.ReadFromFile(plistPath);
            var root = plist.root;
            root.SetBoolean("ITSAppUsesNonExemptEncryption", false);
            plist.WriteToFile(plistPath);
#endif
        }
    }
}

参考サイト

ホロラボのテックブログ

Discussion