SetCompileFlagsForFile(string, string, List<string>)
Sets the compilation flags for the given file in the given target.
Read time 1 minuteLast updated 8 days ago
Definition
- Type: Method
- Namespace: UnityEditor.iOS.Xcode
- Assembly: UnityEditor.iOS.Extensions.Xcode
public void SetCompileFlagsForFile(string targetGuid, string fileGuid, List<string> compileFlags)
Parameters
The GUID of the target, such as the one returned by PBXProject.TargetGuidByName.
The GUID of the file.
The list of compile flags or null if the flags should be unset.
Examples
using UnityEditor;using System.Collections.Generic;using System.IO;using UnityEditor.Callbacks;using UnityEditor.iOS.Xcode;using System;public class Sample_SetCompileFlagsForFile { [PostProcessBuild] public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject) { // Stop processing if build target is not iOS if (buildTarget != BuildTarget.iOS) return; // Initialize PBXProject string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject); PBXProject pbxProject = new PBXProject(); pbxProject.ReadFromFile(projectPath); // Get the target GUID string targetGuid = pbxProject.GetUnityFrameworkTargetGuid(); // Specify the file path you want to get compile flags of (within the Xcode project) string filePath = "Plugins/ExampleFile.mm"; // Retrieve the file GUID using the file path string fileGuid = pbxProject.FindFileGuidByProjectPath(filePath); // Get the compile flags for the specified file string[] compileFlags = pbxProject.GetCompileFlagsForFile(targetGuid, fileGuid).ToArray(); // Check if the file already has a compile flag you want to specify string customCompileFlag = "exampleFlag"; if (Array.IndexOf(compileFlags, customCompileFlag) < 0) { // Add the compile flag if it doesn't pbxProject.SetCompileFlagsForFile(targetGuid, fileGuid, new List<string> (){customCompileFlag}); } // Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); }}