PBXProject.AddShellScriptBuildPhaseBeforeTargetPostprocess
Declaration
public string AddShellScriptBuildPhaseBeforeTargetPostprocess(string targetGuid, string name, string shellPath, string shellScript);Параметры
| Параметр | Описание |
|---|---|
| targetGuid | GUID объекта, например, возвращаемый TargetGuidByName. |
| имя | Имя фазы. |
| shellPath | Путь оболочки. |
| shellScript | Скрипт оболочки. |
Возвращаемое значение
строка Возвращает GUID нового этапа.
Описание
Создает новую фазу скрипта оболочки копирования для заданного объекта.
Если фаза сборки скрипта оболочки с таким же именем, shellPathи shellScript уже настроена для цели, функция возвращает существующую фазу. Новая фаза помещается прямо перед замещающей целью пост-процесса Unity, если она существует.
Declaration
public string AddShellScriptBuildPhaseBeforeTargetPostprocess(string targetGuid, string name, string shellPath, string shellScript, List<string> inputPaths);Параметры
| Параметр | Описание |
|---|---|
| targetGuid | GUID объекта, например, возвращаемый TargetGuidByName. |
| имя | Имя фазы. |
| shellPath | Путь оболочки. |
| shellScript | Скрипт оболочки. |
| inputPaths | Скрипт оболочки вводит зависимости. |
Возвращаемое значение
строка Возвращает GUID нового этапа.
Описание
Создает новую фазу скрипта оболочки копирования для заданного объекта.
Если фаза сборки скрипта оболочки с таким же именем, shellPath, shellScriptи inputPaths уже настроена для цели, функция возвращает существующую фазу. Новая фаза помещается прямо перед замещающей целью пост-процесса Unity, если она существует.
using UnityEditor; using System.Collections.Generic; using System.IO; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode;
public class Sample_AddShellScriptBuildPhaseBeforeTargetPostprocess { [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 GUID of the target you want to add the Shell Script Phase to string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();
// Add the Shell Script Phase to that target pbxProject.AddShellScriptBuildPhaseBeforeTargetPostprocess(mainTargetGuid, "exampleScript1", "", "echo exampleCommand1");
// Optionally, you can add the Phase with Input Files listed pbxProject.AddShellScriptBuildPhaseBeforeTargetPostprocess(mainTargetGuid, "exampleScript2", "", "echo exampleCommand2", new List<string>() { "InputFile1" });
// Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); } }