본문 바로가기
개발/Unity

Unity iOS Xcode 빌드시 Info.plist 자동 수정 간단 구현

by SPNK 2023. 8. 19.
반응형

코드 작성

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

public class IOSBuildOption
{
    [UnityEditor.Callbacks.PostProcessBuild]
    public static void ChangeXcodePlist(BuildTarget buildTarget, string pathToBuiltProject)
    {

        if (buildTarget == BuildTarget.iOS)
        {
            // Get plist
            string plistPath = pathToBuiltProject + "/Info.plist";
            PlistDocument plist = new PlistDocument();
            plist.ReadFromString(File.ReadAllText(plistPath));

            // Get root
            PlistElementDict rootDict = plist.root;

            // Change value of CFBundleVersion in Xcode plist
            var buildKey = "UIBackgroundModes";
            rootDict.CreateArray(buildKey).AddString("remote-notification");

            rootDict.SetBoolean("Supports opening documents in place", true);
            rootDict.SetBoolean("Application supports iTunes file sharing", true);
            rootDict.SetBoolean("App Uses Non-Exempt Encryption", false);

            // Write to file
            File.WriteAllText(plistPath, plist.WriteToString());
        }
    }
}

 

작성 후 아무 위치에 Editor 이름의 폴더를 만든 후 그 안에 넣고 빌드하면 됩니다.

반응형

댓글