コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】iOS ビルド完了時に Xcode プロジェクトの「IPHONEOS_DEPLOYMENT_TARGET」を「12.0」にするエディタ拡張

概要

using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;

namespace Kogane.Internal
{
    /// <summary>
    /// iOS ビルド完了時に Xcode プロジェクトの「IPHONEOS_DEPLOYMENT_TARGET」を「12.0」にするエディタ拡張
    /// </summary>
    internal static class SetTargetMinimumiOSVersionOnPostProcessBuild
    {
        //================================================================================
        // 関数(static)
        //================================================================================
        /// <summary>
        /// ビルド完了時に呼び出されます
        /// </summary>
        [PostProcessBuild]
        private static void OnPostProcessBuild
        (
            BuildTarget buildTarget,
            string      pathToBuiltProject
        )
        {
            if ( buildTarget != BuildTarget.iOS ) return;

            var projectPath = PBXProject.GetPBXProjectPath( pathToBuiltProject );
            var project     = new PBXProject();

            project.ReadFromFile( projectPath );

            var mainTargetGuid = project.GetUnityMainTargetGuid();

            project.SetBuildProperty( mainTargetGuid, "IPHONEOS_DEPLOYMENT_TARGET", "12.0" );
            project.WriteToFile( projectPath );
        }
    }
}