From c1a7f5bca3b3f0d20da019b8966a077d7ed29baa Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 23 七月 2024 18:15:26 +0800
Subject: [PATCH] 0312 热更插件
---
.gitignore | 1
Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs.meta | 11 +++++
Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs | 34 +++++++++++++++++
Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs | 25 ++++++++++++
Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs.meta | 11 +++++
5 files changed, 81 insertions(+), 1 deletions(-)
diff --git a/.gitignore b/.gitignore
index 064744b..ac3ceaa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,7 +28,6 @@
[Tt]est[Rr]esult*
.vs/
#Nuget packages folder
-packages/
Library/*
Temp/*
*.csproj
diff --git a/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs
new file mode 100644
index 0000000..a3c880c
--- /dev/null
+++ b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs
@@ -0,0 +1,34 @@
+using HybridCLR.Editor.Installer;
+using HybridCLR.Editor.Settings;
+using System.IO;
+using System.Text;
+using UnityEditor;
+using UnityEditor.Build;
+using UnityEditor.Callbacks;
+using UnityEngine;
+
+#if UNITY_2023_1_OR_NEWER && (UNITY_IOS || UNITY_TVOS || UNITY_VISIONOS)
+
+namespace HybridCLR.Editor.BuildProcessors
+{
+ public static class AddLil2cppSourceCodeToXcodeproj2022OrNewer
+ {
+
+ [PostProcessBuild]
+ public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject)
+ {
+ if (!HybridCLRSettings.Instance.enable)
+ return;
+ CopyLibil2cppToXcodeProj(pathToBuiltProject);
+ }
+
+ private static void CopyLibil2cppToXcodeProj(string pathToBuiltProject)
+ {
+ string srcLibil2cppDir = $"{SettingsUtil.LocalIl2CppDir}/libil2cpp";
+ string destLibil2cppDir = $"{pathToBuiltProject}/Il2CppOutputProject/IL2CPP/libil2cpp";
+ BashUtil.RemoveDir(destLibil2cppDir);
+ BashUtil.CopyDir(srcLibil2cppDir, destLibil2cppDir, true);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs.meta b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs.meta
new file mode 100644
index 0000000..ef760ad
--- /dev/null
+++ b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/AddLil2cppSourceCodeToXcodeproj2023OrNewer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2fa46135129b046a28014d58fdfd18ca
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs
new file mode 100644
index 0000000..7bb4f77
--- /dev/null
+++ b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs
@@ -0,0 +1,25 @@
+锘縰sing System;
+using System.IO;
+using UnityEditor.Build;
+
+namespace HybridCLR.Editor.BuildProcessors
+{
+
+ public static class BuildProcessorUtil
+ {
+
+ public static string GetXcodeProjectFile(string pathToBuiltProject)
+ {
+ foreach (string dir in Directory.GetDirectories(pathToBuiltProject, "*.xcodeproj", SearchOption.TopDirectoryOnly))
+ {
+ string pbxprojFile = $"{dir}/project.pbxproj";
+ if (File.Exists(pbxprojFile))
+ {
+ return pbxprojFile;
+ }
+ }
+ throw new BuildFailedException($"can't find xxxx.xcodeproj/project.pbxproj in {pathToBuiltProject}");
+ }
+ }
+}
+
diff --git a/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs.meta b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs.meta
new file mode 100644
index 0000000..6cd79d2
--- /dev/null
+++ b/Packages/com.code-philosophy.hybridclr/Editor/BuildProcessors/BuildProcessorUtil.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c680e56f90f2745298a90803c04f6efc
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
--
Gitblit v1.8.0