#if UNITY_IOS using System.IO; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; using UnityEngine; namespace AnyThinkAds.Editor { public static class IOSPostProcessBuild { /// /// 构建后 /// /// 平台 /// 路径 [PostProcessBuild(999)] public static void OnPostProcessBuild(BuildTarget buildTarget, string path) { if (buildTarget == BuildTarget.iOS) { Debug.Log("开始构建IOS"); string projectPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj"; PBXProject pbxProject = new PBXProject(); pbxProject.ReadFromFile(projectPath); string mainTarget = pbxProject.GetUnityMainTargetGuid(); string target = pbxProject.GetUnityFrameworkTargetGuid(); pbxProject.SetTeamId(mainTarget, "H8954G9K5C"); pbxProject.SetBuildProperty(mainTarget, "ENABLE_BITCODE", "NO"); pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO"); pbxProject.SetBuildProperty(target, "GCC_ENABLE_OBJC_EXCEPTIONS", "YES"); pbxProject.SetBuildProperty(target, "GCC_C_LANGUAGE_STANDARD", "gnu99"); pbxProject.SetBuildProperty(target, "GENERATE_DEBUG_SYMBOLS", "NO"); pbxProject.AddFrameworkToProject(target, "VideoToolbox.framework", false); pbxProject.AddFrameworkToProject(target, "SystemConfiguration.framework", false); pbxProject.AddFrameworkToProject(target, "Security.framework", false); pbxProject.AddBuildProperty(target, "OTHER_LDFLAGS", "-ObjC"); pbxProject.AddBuildProperty(target, "OTHER_LDFLAGS", "-fobjc-arc"); pbxProject.AddFileToBuild(target, pbxProject.AddFile("usr/lib/libxml2.tbd", "Libraries/libxml2.tbd", PBXSourceTree.Sdk)); pbxProject.AddFileToBuild(target, pbxProject.AddFile("usr/lib/libresolv.9.tbd", "Libraries/libresolv.9.tbd", PBXSourceTree.Sdk)); pbxProject.AddFileToBuild(target, pbxProject.AddFile("usr/lib/libz.tbd", "Libraries/libz.tbd", PBXSourceTree.Sdk)); pbxProject.AddFileToBuild(target, pbxProject.AddFile("usr/lib/libbz2.1.0.tbd", "Libraries/libbz2.1.0.tbd", PBXSourceTree.Sdk)); pbxProject.AddFileToBuild(target, pbxProject.AddFile("usr/lib/libc++.dylib", "Libraries/libc++.dylib", PBXSourceTree.Sdk)); pbxProject.AddFileToBuild(target, pbxProject.AddFile("usr/lib/libresolv.tbd", "Libraries/libresolv.tbd", PBXSourceTree.Sdk)); pbxProject.WriteToFile (projectPath); var plist = new PlistDocument(); plist.ReadFromString(File.ReadAllText(path)); plist.root.SetString("GADApplicationIdentifier", "ca-app-pub-9488501426181082/7319780494"); plist.root.SetBoolean("GADIsAdManagerApp", true); plist.WriteToFile(plistPath); } } } } #endif