UnityからiOS書き出しをしてTestFlightにあげる際、アップロードした後に気が付くものとして、輸出コンプライアンス対応があります。いつも忘れる。
iOS書き出しした後、info.plistにて「App Uses Non-Exempt Encryption」(ITSAppUsesNonExemptEncryption
)を「NO」にしとけばエラー回避できますが、Unityで再度書き出すと、毎度、これをやらねばなので、Unityの時点で書いておきたいです。
でもやってますが「PostProcessBuildClass」で「SetBuildProperty」しとけばOKです。
using System.IO; using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; using UnityEditor.iOS.Xcode; public class PostprocessBuild : IPostprocessBuildWithReport { public int callbackOrder { get { return 0; } } public void OnPostprocessBuild(BuildReport report) { if (report.summary.platform == BuildTarget.iOS) { string plistPath = Path.Combine(report.summary.outputPath, "Info.plist"); PlistDocument plist = new PlistDocument(); plist.ReadFromFile(plistPath); plist.root.SetBoolean("ITSAppUsesNonExemptEncryption", false); plist.WriteToFile(plistPath); } } }
このコードを「PostProcessBuildClass.cs」という名前で、UnityのAssets内の「Editor」フォルダ内に入れてiOSビルドを作成し、XcodeでTestFlightまでアップロードします。輸出コンプライアンスがなんたらというエラーはアップロード後に出るので、上記対応して緑のチェックマークまでいければOKです。
アイコンの付け忘れもアップロード後最後の最後までエラー出ないので注意です。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。