LoginSignup
6
3

More than 3 years have passed since last update.

UnityのスクリプトからXcodeのInfo.plistを編集する

Posted at

言語設定がデフォルトで英語になっているので、毎回ビルド後にXcodeで日本語に設定し直すのが大変でしたので自動で設定するようにしました。

環境

  • Unity 2019.3
  • macOS

方法

plistを読み書きするPlistDocumentクラスが用意されているのでこれを使います。
ビルド後のコールバックで処理しますが、Unity2018ぐらいまでは[PostProcessBuild]属性を使っていたのですが現在は廃止されており、新しくIPostprocessBuildWithReportインターフェイスを継承してビルド後のコールバックを受け取る必要があります。

using System.IO;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEditor.iOS.Xcode;

public class XcodePostprocess : 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.SetString("CFBundleDevelopmentRegion", "ja");
                plist.WriteToFile(plistPath);
        }
    }
}

参考

6
3
1

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
3