diff --git a/Runtime/GuruAdjust/Editor/Signature/AdjustSignatureHelper.cs b/Runtime/GuruAdjust/Editor/Signature/AdjustSignatureHelper.cs index 0e05266..279b2ca 100644 --- a/Runtime/GuruAdjust/Editor/Signature/AdjustSignatureHelper.cs +++ b/Runtime/GuruAdjust/Editor/Signature/AdjustSignatureHelper.cs @@ -20,19 +20,19 @@ namespace Guru bool res; from = $"{files}/{AndroidLib}.f"; to = $"{Application.dataPath}/Plugins/Android/{AndroidLib}"; - res = CopyFile(from, to); + res = CopyFile(from, to); // 无需覆盖 if (res) Debug.Log($"Copy {AndroidLib} to {to} success..."); from = $"{files}/{AndroidLib}.f.meta"; to = $"{Application.dataPath}/Plugins/Android/{AndroidLib}.meta"; - CopyFile(from, to); + CopyFile(from, to); // 无需覆盖 from = $"{files}/{iOSLib}.f"; to = $"{Application.dataPath}/Plugins/iOS/{iOSLib}"; - res = CopyFile(from, to); + res = CopyFile(from, to); // 无需覆盖 if (res) Debug.Log($"Copy {iOSLib} to {to} success..."); from = $"{files}/{iOSLib}.f.meta"; to = $"{Application.dataPath}/Plugins/iOS/{iOSLib}.meta"; - CopyFile(from, to); + CopyFile(from, to); // 无需覆盖 AssetDatabase.Refresh(); } @@ -55,25 +55,25 @@ namespace Guru return Path.GetFullPath($"{Application.dataPath}/../Packages/com.guru.unity.sdk.core/Runtime/GuruAdjust/Editor/Signature"); } - private static bool CopyFile(string source, string dest) + private static bool CopyFile(string from, string to, bool overwrite = false) { - if (File.Exists(source)) + if (File.Exists(to) && !overwrite) { - if (!File.Exists(dest)) - { - File.Delete(dest); - } - else - { - var destDir = Directory.GetParent(dest); - if(!destDir.Exists) destDir.Create(); - } + // 如果目标文件存在, 且不允许覆写, 则不进行拷贝 + return false; + } + + if (File.Exists(from)) + { + // 确保拷贝目录存在 + var destDir = Directory.GetParent(to); + if(destDir != null && !destDir.Exists) destDir.Create(); - File.Copy(source, dest, true); + File.Copy(from, to, overwrite); return true; } - Debug.Log($"File not found: {source}..."); + Debug.Log($"File not found: {from}..."); return false; }