Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

PBXProject.GetCompileFlagsForFile

Declaration

public List<string> GetCompileFlagsForFile(string targetGuid, string fileGuid);

Параметры

Параметр Описание
targetGuid GUID объекта, например, возвращаемый TargetGuidByName.
fileGuid GUID файла.

Возвращаемое значение

List<string> Флаги компиляции для указанного файла.

Описание

Возвращает флаги компиляции, установленные для конкретного файла на заданной цели.

Null возвращается, если файл не имеет настроенных флагов компиляции или файл не настроен для сборки на заданной цели.

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); } }