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

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