Merge branch 'master' of https://dev.nextreal.cn/yuqucheng/killapp
This commit is contained in:
commit
9d0287733e
@ -3,24 +3,79 @@ using UnityEditor;
|
||||
using UnityEditor.Callbacks;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using UnityEngine;
|
||||
|
||||
public class iOSFixDuplicateShellScript
|
||||
{
|
||||
[PostProcessBuild]
|
||||
[PostProcessBuild(999)]
|
||||
public static void OnPostProcessBuild(BuildTarget target, string pathToBuiltProject)
|
||||
{
|
||||
if (target != BuildTarget.iOS) return;
|
||||
|
||||
FixDuplicateShellScript(pathToBuiltProject);
|
||||
FixPodfile(pathToBuiltProject);
|
||||
}
|
||||
|
||||
private static void FixDuplicateShellScript(string pathToBuiltProject)
|
||||
{
|
||||
string projPath = Path.Combine(pathToBuiltProject, "Unity-iPhone.xcodeproj/project.pbxproj");
|
||||
if (!File.Exists(projPath)) return;
|
||||
if (!File.Exists(projPath))
|
||||
{
|
||||
Debug.LogWarning("[FixDupShellScript] pbxproj not found: " + projPath);
|
||||
return;
|
||||
}
|
||||
|
||||
string content = File.ReadAllText(projPath);
|
||||
|
||||
// 匹配 GameAssembly target 的 buildPhases 中连续两个相同的 ShellScript
|
||||
string pattern = @"(\t+([A-F0-9]+) /\* ShellScript \*/,)\n\t+\2 /\* ShellScript \*,/";
|
||||
content = Regex.Replace(content, pattern, "$1");
|
||||
string pattern = @"(\t+([A-F0-9]+) /\* ShellScript \*/,)\r?\n\t+\2 /\* ShellScript \*,/";
|
||||
string newContent = Regex.Replace(content, pattern, "$1");
|
||||
|
||||
if (newContent != content)
|
||||
{
|
||||
File.WriteAllText(projPath, newContent);
|
||||
Debug.Log("[FixDupShellScript] Removed duplicate ShellScript from GameAssembly target");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("[FixDupShellScript] No duplicate ShellScript found");
|
||||
}
|
||||
}
|
||||
|
||||
File.WriteAllText(projPath, content);
|
||||
private static void FixPodfile(string pathToBuiltProject)
|
||||
{
|
||||
string podfilePath = Path.Combine(pathToBuiltProject, "Podfile");
|
||||
if (!File.Exists(podfilePath))
|
||||
{
|
||||
Debug.LogWarning("[FixPodfile] Podfile not found");
|
||||
return;
|
||||
}
|
||||
|
||||
string content = File.ReadAllText(podfilePath);
|
||||
bool modified = false;
|
||||
|
||||
// 移除不需要的 Firebase/Analytics
|
||||
if (content.Contains("Firebase/Analytics"))
|
||||
{
|
||||
content = Regex.Replace(content, @"\s*pod\s+'Firebase/Analytics'[^\n]*\n?", "\n");
|
||||
modified = true;
|
||||
}
|
||||
|
||||
// 将 12.4.0 统一为 12.14.0
|
||||
if (content.Contains("12.4.0"))
|
||||
{
|
||||
content = content.Replace("12.4.0", "12.14.0");
|
||||
modified = true;
|
||||
}
|
||||
|
||||
if (modified)
|
||||
{
|
||||
File.WriteAllText(podfilePath, content);
|
||||
Debug.Log("[FixPodfile] Cleaned up Podfile");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("[FixPodfile] Podfile already clean");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -5,6 +5,8 @@ FirebaseAnalytics iOS and Android Dependencies.
|
||||
|
||||
<dependencies>
|
||||
<iosPods>
|
||||
<iosPod name="Firebase/Analytics" version="12.14.0" minTargetSdk="15.0">
|
||||
</iosPod>
|
||||
</iosPods>
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.google.firebase:firebase-analytics:23.0.0">
|
||||
|
||||
@ -6,7 +6,7 @@ TextureImporter:
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
@ -37,13 +37,13 @@ TextureImporter:
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
@ -52,9 +52,9 @@ TextureImporter:
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
@ -125,7 +125,7 @@ TextureImporter:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
|
||||
@ -40,10 +40,10 @@ TextureImporter:
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
@ -97,12 +97,12 @@ TextureImporter:
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureFormat: 50
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
@ -125,7 +125,7 @@ TextureImporter:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
|
||||
@ -40,10 +40,10 @@ TextureImporter:
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
@ -97,12 +97,12 @@ TextureImporter:
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureFormat: 50
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
overridden: 1
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
@ -125,7 +125,7 @@ TextureImporter:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d89f75d2829914aefabc2c12ee61e74d
|
||||
guid: 2fe29f66f37c34d5ca39cf642d8a2ba3
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 72592ba5df3304ad8a664eb6c0ab04da
|
||||
guid: 29fdb52e7fc6c411891c323b5d5b6f01
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
@ -174,7 +174,7 @@ PlayerSettings:
|
||||
buildNumber:
|
||||
Standalone: 0
|
||||
VisionOS: 0
|
||||
iPhone: 0
|
||||
iPhone: 2
|
||||
tvOS: 0
|
||||
overrideDefaultApplicationIdentifier: 1
|
||||
AndroidBundleVersionCode: 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user