using UnityEditor; using UnityEngine; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; using System.IO; using System.Collections; using System.Collections.Generic; public class NewBehaviourScript { [PostProcessBuild(100)] public static void OnPostprocessBuild(BuildTarget buildTarget, string buildPath) { if (buildTarget != BuildTarget.iOS) { return; } string projectPath = PBXProject.GetPBXProjectPath(buildPath); PBXProject project = new PBXProject(); project.ReadFromFile(projectPath); //关闭BitCode string target = project.TargetGuidByName("Unity-iPhone"); project.SetBuildProperty(target, "ENABLE_BITCODE", "NO"); //添加资源 FileUtil.CopyFileOrDirectory(Application.dataPath + "/AppleDependency", buildPath + "/AppleDependency"); string[] filePaths = Directory.GetFiles(buildPath + "/AppleDependency", "*.*", SearchOption.AllDirectories); for (int i = 0; i < filePaths.Length; i++) { if (Path.GetExtension(filePaths[i]) == ".meta") { continue; } project.AddFileToBuild(target, project.AddFile(filePaths[i], filePaths[i].Replace(buildPath, ""), PBXSourceTree.Source)); } //添加引用库 string targetGuid = project.TargetGuidByName("Unity-iPhone"); project.AddFrameworkToProject(targetGuid, "libc++.tbd", false); project.AddFrameworkToProject(targetGuid, "libz.tbd", false); project.AddFrameworkToProject(targetGuid, "SystemConfiguration.framework", false); project.AddFrameworkToProject(targetGuid, "CoreTelephony.framework", false); project.AddFrameworkToProject(targetGuid, "QuartzCore.framework", false); project.AddFrameworkToProject(targetGuid, "CoreText.framework", false); project.AddFrameworkToProject(targetGuid, "CoreGraphics.framework", false); project.AddFrameworkToProject(targetGuid, "UIKit.framework", false); project.AddFrameworkToProject(targetGuid, "Foundation.framework", false); project.AddFrameworkToProject(targetGuid, "CFNetwork.framework", false); project.AddFrameworkToProject(targetGuid, "CoreMotion.framework", false); project.AddFrameworkToProject(targetGuid, "AlipaySDK.framework", false); project.AddFrameworkToProject(targetGuid, "Security.framework", false); //保存 File.WriteAllText(projectPath, project.WriteToString()); } }