#if UNITY_IOS using System.IO; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; using UnityEngine; namespace AmazonInternal.Editor.Postbuild { public static class AmazonPostBuildiOS { [PostProcessBuild( 45 )] public static void OnPostprocessBuild(BuildTarget buildTarget, string path) { if (buildTarget != BuildTarget.iOS) return; string pbxProjectPath = PBXProject.GetPBXProjectPath(path); PBXProject project = new PBXProject(); project.ReadFromFile(pbxProjectPath); #if UNITY_2019_3_OR_NEWER string targetGuid = project.GetUnityFrameworkTargetGuid(); #else string targetGuid = project.TargetGuidByName(PBXProject.GetUnityTargetName()); #endif project.SetBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited)"); project.SetBuildProperty(targetGuid, "CLANG_ENABLE_MODULES", "YES"); project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "@executable_path/Frameworks"); project.WriteToFile(pbxProjectPath); #if UNITY_2019_3_OR_NEWER if (buildTarget == BuildTarget.iOS) { bool iPhoneExist = false; using (StreamReader sr = new StreamReader(path + "/Podfile")) { string contents = sr.ReadToEnd(); if (contents.Contains("Unity-iPhone")) { iPhoneExist = true; } } if ( !iPhoneExist ){ using (StreamWriter sw = File.AppendText(path + "/Podfile")) { sw.WriteLine("\ntarget 'Unity-iPhone' do\nend"); } } } #endif } } } #endif