PBXProject.AddFileToBuildWithFlags
Declaration
public void AddFileToBuildWithFlags(string targetGuid, string fileGuid, string compileFlags);Параметры
| Параметр | Описание |
|---|---|
| targetGuid | GUID объекта, например, возвращаемый TargetGuidByName. |
| fileGuid | Файл GUID возвращается AddFile или AddFolderReference. |
| compileFlags | Компиляция флагов для использования. |
Описание
Настроить файл для сборки для данной цели с определенными флагами компилятора.
Функция эквивалентна AddFileToBuild, за исключением того, что указаны флаги компиляции. В проектах, содержащих несколько нативных целей, можно настроить ссылку на один файл или папку для сборки во всех, некоторых или ни в одном из целей. Ссылка на файл или папку добавляется в соответствующий раздел сборки в зависимости от расширения файла.
using UnityEngine; using UnityEditor; using System.IO; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode;
public class Sample_AddFileToBuildWithFlags { [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 GUID for Main target string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();
// Specify the file path you want to add to the Xcode project string filePath = Path.Combine(Application.dataPath, "Resources/ScriptFile.mm");
// Add the file to 'Resources' subfolder in the Xcode project string fileGuid = pbxProject.AddFile(filePath, "Resources/ScriptFile.mm");
// Add the file to build and specify the compile flags pbxProject.AddFileToBuildWithFlags(mainTargetGuid, fileGuid, "-exampleFlag"); // Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); } }