Files
ChunilENG/Assets/Editor/CleanupPostProcessorBuild.cs
2025-04-23 08:37:12 +09:00

78 lines
2.6 KiB
C#

using System;
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
#if UNITY_IOS
using UnityEditor.iOS.Xcode;
#endif
using UnityEngine;
using UnityEngine.Assertions;
public class CleanupPostProcessorBuild
{
[PostProcessBuild(2000)]
public static void OnPostProcessBuild(BuildTarget target, string path)
{
#if UNITY_IOS
Debug.Log("iOSBuildPostProcess is now postprocessing iOS Project");
var projectPath = PBXProject.GetPBXProjectPath(path);
var project = new PBXProject();
project.ReadFromFile(projectPath);
var targetGuid = project.GetUnityMainTargetGuid();
project.SetBuildProperty(targetGuid, "SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD", "NO");
try
{
var projectInString = File.ReadAllText(projectPath);
projectInString = projectInString.Replace("SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;",
$"SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;");
File.WriteAllText(projectPath, projectInString);
}
catch (Exception e)
{
Debug.LogException(e);
}project.WriteToFile(projectPath);
#endif
string outputPath = path;
try
{
string applicationName = Path.GetFileNameWithoutExtension(outputPath);
string outputFolder = Path.GetDirectoryName(outputPath);
Assert.IsNotNull(outputFolder);
outputFolder = Path.GetFullPath(outputFolder);
//Delete Burst Debug Folder
string burstDebugInformationDirectoryPath = Path.Combine(outputFolder, $"{applicationName}_BurstDebugInformation_DoNotShip");
if (Directory.Exists(burstDebugInformationDirectoryPath))
{
Debug.Log($" > Deleting Burst debug information folder at path '{burstDebugInformationDirectoryPath}'...");
Directory.Delete(burstDebugInformationDirectoryPath, true);
}
//Delete il2cpp Debug Folder
string il2cppDebugInformationDirectoryPath = Path.Combine(outputFolder, $"{applicationName}_BackUpThisFolder_ButDontShipItWithYourGame");
if (Directory.Exists(il2cppDebugInformationDirectoryPath))
{
Debug.Log($" > Deleting Burst debug information folder at path '{il2cppDebugInformationDirectoryPath}'...");
Directory.Delete(il2cppDebugInformationDirectoryPath, true);
}
}
catch (Exception e)
{
Debug.LogWarning($"An unexpected exception occurred while performing build cleanup: {e}");
}
}
}