using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.Build; using UnityEditor.Build.Reporting; using Amanotes.TripleSDK.Core; using UnityEngine; #if UNITY_IOS using UnityEditor.iOS.Xcode; #endif namespace Amanotes.TripleSDK.Editor { [InitializeOnLoad] public class AppsFlyerBuildProcessor : IPreprocessBuildWithReport { public int callbackOrder { get { return 0; } } public void OnPreprocessBuild(BuildReport report) { } [PostProcessBuildAttribute(1)] public static void OnPostProcessBuild(BuildTarget buildTarget, string pathToBuiltProject) { #if UNITY_IOS if (buildTarget == BuildTarget.iOS) { string plistPath = pathToBuiltProject + "/Info.plist"; PlistDocument plist = new PlistDocument(); plist.ReadFromString(File.ReadAllText(plistPath)); PlistElementDict rootDict = plist.root; rootDict.SetBoolean("AppsFlyerShouldSwizzle", true); File.WriteAllText(plistPath, plist.WriteToString()); Debug.Log("Info.plist updated with AppsFlyerShouldSwizzle"); } #endif } } }