63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
#if UNITY_IOS || UNITY_IPHONE
 | 
						|
 | 
						|
using System.IO;
 | 
						|
using System.Linq;
 | 
						|
using UnityEditor;
 | 
						|
using UnityEditor.Callbacks;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace Moloco.Scripts.Editor
 | 
						|
{
 | 
						|
    public class PodfileEditor
 | 
						|
    {
 | 
						|
        // [PostProcessBuild(45)] // Add to the Podfile after it's generated (40) but before "pod install" (50)
 | 
						|
        public static void OnPostProcessBuild(BuildTarget buildTarget, string pathToBuiltProject)
 | 
						|
        {
 | 
						|
            if (buildTarget != BuildTarget.iOS)
 | 
						|
            {
 | 
						|
                return;
 | 
						|
            }
 | 
						|
 | 
						|
            string podfilePath = Path.Combine(pathToBuiltProject, "Podfile");
 | 
						|
 | 
						|
            if (File.Exists(podfilePath))
 | 
						|
            {
 | 
						|
                var codeSigningStyle = PlayerSettings.iOS.appleEnableAutomaticSigning ? "Automatic" : "Manual";
 | 
						|
                var teamId = PlayerSettings.iOS.appleDeveloperTeamID;
 | 
						|
                var provisioningProfileId = PlayerSettings.iOS.iOSManualProvisioningProfileID;
 | 
						|
                var provisioningProfileType = PlayerSettings.iOS.iOSManualProvisioningProfileType;
 | 
						|
                
 | 
						|
                string[] molocoTargets =
 | 
						|
                {
 | 
						|
                    "MolocoSDKiOS-MolocoSDK", 
 | 
						|
                    "MolocoCustomAdapter-MolocoCustomAdapter", 
 | 
						|
                    "MolocoCustomAdapterAppLovin-MolocoCustomAdapterAppLovin",
 | 
						|
                    "MolocoCustomAdapterIronSource-MolocoCustomAdapterIronSource"
 | 
						|
                };
 | 
						|
                var molocoTargetsString = string.Join(", ", molocoTargets.Select(element => $"'{element}'"));
 | 
						|
 | 
						|
                using var sw = File.AppendText(podfilePath);
 | 
						|
                sw.WriteLine("\n\n\npost_install do |installer|");
 | 
						|
                sw.WriteLine("  installer.pods_project.targets.each do |target|");
 | 
						|
                sw.WriteLine("    target.build_configurations.each do |config|");
 | 
						|
                sw.WriteLine("      if [" + molocoTargetsString + "].include? target.name");
 | 
						|
                sw.WriteLine("        config.build_settings['CODE_SIGN_STYLE'] = '" + codeSigningStyle + "'");
 | 
						|
                sw.WriteLine("        config.build_settings['DEVELOPMENT_TEAM'] = '" + teamId + "'");
 | 
						|
                if (!PlayerSettings.iOS.appleEnableAutomaticSigning)
 | 
						|
                {
 | 
						|
                    sw.WriteLine("        config.build_settings['PROVISIONING_PROFILE_APP'] = '" + provisioningProfileId + "\'");
 | 
						|
                }
 | 
						|
                sw.WriteLine("      end");
 | 
						|
                sw.WriteLine("    end");
 | 
						|
                sw.WriteLine("  end");
 | 
						|
                sw.WriteLine("end");
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Debug.LogWarning("Podfile not found in the Xcode project.");
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
#endif |