2021-04-07 16:20:41 +08:00
|
|
|
|
using UnityEditor;
|
|
|
|
|
using UnityEditor.Callbacks;
|
|
|
|
|
using UnityEditor.iOS.Xcode;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace TapTap.Common.Editor
|
|
|
|
|
{
|
|
|
|
|
public static class TapCommonIOSProcessor
|
|
|
|
|
{
|
|
|
|
|
// 添加标签,unity导出工程后自动执行该函数
|
|
|
|
|
[PostProcessBuild(99)]
|
|
|
|
|
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
|
|
|
|
|
{
|
|
|
|
|
if (buildTarget != BuildTarget.iOS) return;
|
|
|
|
|
|
|
|
|
|
// 获得工程路径
|
|
|
|
|
var projPath = TapCommonCompile.GetProjPath(path);
|
|
|
|
|
var proj = TapCommonCompile.ParseProjPath(projPath);
|
|
|
|
|
var target = TapCommonCompile.GetUnityTarget(proj);
|
|
|
|
|
var unityFrameworkTarget = TapCommonCompile.GetUnityFrameworkTarget(proj);
|
|
|
|
|
|
|
|
|
|
if (TapCommonCompile.CheckTarget(target))
|
|
|
|
|
{
|
|
|
|
|
Debug.LogError("Unity-iPhone is NUll");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
proj.AddBuildProperty(target, "OTHER_LDFLAGS", "-ObjC");
|
|
|
|
|
proj.AddBuildProperty(unityFrameworkTarget, "OTHER_LDFLAGS", "-ObjC");
|
|
|
|
|
|
|
|
|
|
proj.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
|
|
|
|
|
proj.SetBuildProperty(target, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
|
|
|
|
|
proj.SetBuildProperty(target, "SWIFT_VERSION", "5.0");
|
|
|
|
|
proj.SetBuildProperty(target, "CLANG_ENABLE_MODULES", "YES");
|
|
|
|
|
proj.SetBuildProperty(unityFrameworkTarget, "ENABLE_BITCODE", "NO");
|
|
|
|
|
proj.SetBuildProperty(unityFrameworkTarget, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
|
|
|
|
|
proj.SetBuildProperty(unityFrameworkTarget, "SWIFT_VERSION", "5.0");
|
|
|
|
|
proj.SetBuildProperty(unityFrameworkTarget, "CLANG_ENABLE_MODULES", "YES");
|
|
|
|
|
|
|
|
|
|
proj.AddFrameworkToProject(unityFrameworkTarget, "MobileCoreServices.framework", false);
|
|
|
|
|
proj.AddFrameworkToProject(unityFrameworkTarget, "WebKit.framework", false);
|
|
|
|
|
proj.AddFrameworkToProject(unityFrameworkTarget, "Security.framework", false);
|
|
|
|
|
proj.AddFrameworkToProject(unityFrameworkTarget, "SystemConfiguration.framework", false);
|
|
|
|
|
proj.AddFrameworkToProject(unityFrameworkTarget, "CoreTelephony.framework", false);
|
|
|
|
|
proj.AddFrameworkToProject(unityFrameworkTarget, "SystemConfiguration.framework", false);
|
|
|
|
|
|
|
|
|
|
proj.AddFileToBuild(unityFrameworkTarget,
|
|
|
|
|
proj.AddFile("usr/lib/libc++.tbd", "libc++.tbd", PBXSourceTree.Sdk));
|
|
|
|
|
|
|
|
|
|
if (TapCommonCompile.HandlerIOSSetting(path,
|
|
|
|
|
Application.dataPath,
|
|
|
|
|
"TapCommonResource",
|
2021-04-09 18:35:23 +08:00
|
|
|
|
"com.taptap.tds.common",
|
2021-04-07 16:20:41 +08:00
|
|
|
|
"Common",
|
|
|
|
|
new[] {"TapCommonResource.bundle"},
|
|
|
|
|
target, projPath, proj))
|
|
|
|
|
{
|
|
|
|
|
Debug.Log("TapCommon add Bundle Success!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Debug.LogError("TapCommon add Bundle Failed!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|