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です。
アイコンの付け忘れもアップロード後最後の最後までエラー出ないので注意です。
東京造形大学卒業後、マクロメディア(現アドビ システムズ)に入社。Quality AssuranceやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、CakePHP、Laravel、Unity、ZBrush、Modo、Adobe Substance 3D Collection、Xcode、Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。