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 |