zip压缩加载测试
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
using UnityEditor.Callbacks;
|
||||
using UnityEditor;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
#if UNITY_IOS
|
||||
using UnityEditor.iOS.Xcode;
|
||||
|
||||
public static class BuildPostProcess
|
||||
{
|
||||
private const string PLIST_FILE = "Info.plist";
|
||||
private const string EXIST_ON_SUSPEND_KEY = "UIApplicationExitsOnSuspend";
|
||||
|
||||
private const string VERSIONING_SYSTEM_KEY = "VERSIONING_SYSTEM";
|
||||
private const string CURRENT_PROJECT_VERSION_KEY = "CURRENT_PROJECT_VERSION";
|
||||
private const string APPLE_GENERIC_VALUE = "apple-generic";
|
||||
|
||||
private const string ENABLE_BITCODE_KEY = "ENABLE_BITCODE";
|
||||
|
||||
private const string CODE_SIGN_STYLE_KEY = "CODE_SIGN_STYLE";
|
||||
private const string PROVISIONING_PROFILE_SPECIFIER_KEY = "PROVISIONING_PROFILE_SPECIFIER";
|
||||
private const string PROVISIONING_PROFILE_KEY = "PROVISIONING_PROFILE";
|
||||
|
||||
|
||||
[PostProcessBuild(1)]
|
||||
public static void IOSBuildPostProcess(BuildTarget target, string pathToBuiltProject)
|
||||
{
|
||||
RemoveDeprecatedInfoPListKeys(pathToBuiltProject);
|
||||
|
||||
string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);
|
||||
var pbxProject = new PBXProject();
|
||||
pbxProject.ReadFromFile(projectPath);
|
||||
|
||||
#if UNITY_2020_1_OR_NEWER
|
||||
var guidProject = pbxProject.GetUnityMainTargetGuid();
|
||||
#else
|
||||
var guidProject = pbxProject.TargetGuidByName(pbxProject.GetUnityMainTargetGuid());
|
||||
#endif
|
||||
|
||||
Debug.Log("Setting Versioning system to Apple Generic...");
|
||||
pbxProject.SetBuildProperty(guidProject, VERSIONING_SYSTEM_KEY, APPLE_GENERIC_VALUE);
|
||||
pbxProject.SetBuildProperty(guidProject, CURRENT_PROJECT_VERSION_KEY, "1");
|
||||
|
||||
Debug.Log("Disabling bitcode...");
|
||||
pbxProject.SetBuildProperty(guidProject, ENABLE_BITCODE_KEY, "NO");
|
||||
|
||||
Debug.Log("Setting Code sign style to manual and setup provisioning profile specifier...");
|
||||
pbxProject.SetBuildProperty(guidProject, CODE_SIGN_STYLE_KEY, "Manual");
|
||||
pbxProject.SetBuildProperty(guidProject, PROVISIONING_PROFILE_SPECIFIER_KEY, pbxProject.GetBuildPropertyForAnyConfig(guidProject, PROVISIONING_PROFILE_KEY));
|
||||
|
||||
pbxProject.WriteToFile(projectPath);
|
||||
}
|
||||
|
||||
private static void RemoveDeprecatedInfoPListKeys(string pathToBuiltProject)
|
||||
{
|
||||
string plistPath = Path.Combine(pathToBuiltProject, PLIST_FILE);
|
||||
PlistDocument plist = new PlistDocument();
|
||||
plist.ReadFromString(File.ReadAllText(plistPath));
|
||||
|
||||
PlistElementDict rootDict = plist.root;
|
||||
|
||||
if (rootDict.values.ContainsKey(EXIST_ON_SUSPEND_KEY))
|
||||
{
|
||||
Debug.LogFormat("Removing deprecated key \"{0}\" on \"{1}\" file", EXIST_ON_SUSPEND_KEY, PLIST_FILE);
|
||||
rootDict.values.Remove(EXIST_ON_SUSPEND_KEY);
|
||||
}
|
||||
|
||||
File.WriteAllText(plistPath, plist.WriteToString());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user