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 |