GetCompileFlagsForFile(string, string)
Returns compile flags set for the specific file on a given target.
Read time 1 minuteLast updated 9 days ago
Definition
- Type: Method
- Namespace: UnityEditor.iOS.Xcode
- Assembly: UnityEditor.iOS.Extensions.Xcode
public List<string> GetCompileFlagsForFile(string targetGuid, string fileGuid)
Parameters
The GUID of the target, such as the one returned by PBXProject.TargetGuidByName.
The GUID of the file.
Returns
Type | Description |
|---|---|
| List<string> | The compile flags for the specified file. |
Remarks
Null is returned if the file has no configured compile flags or the file is not configured for building on the given target.
Examples
using UnityEditor;using System.Collections.Generic;using System.IO;using UnityEditor.Callbacks;using UnityEditor.iOS.Xcode;using System;public class Sample_GetCompileFlagsForFile { [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); }}