PBXProject.AddFileToBuildSection
Declaration
public void AddFileToBuildSection(string targetGuid, string sectionGuid, string fileGuid);Параметры
| Параметр | Описание |
|---|---|
| targetGuid | GUID объекта, например, возвращаемый TargetGuidByName. |
| sectionGuid | GUID раздела, в который нужно добавить файл. |
| fileGuid | Файл GUID возвращается AddFile или AddFolderReference. |
Описание
Настраивает файл для сборки для данной нативной цели на конкретной секции сборки.
Функция эквивалентна AddFileToBuild, за исключением определения конкретной секции сборки. В проектах, содержащих несколько нативных целей, можно настроить ссылку на один файл или папку для сборки во всех, некоторых или ни в одном из целей. Ссылка на файл или папку добавляется в соответствующую секцию сборки в зависимости от расширения файла.
using UnityEngine; using UnityEditor; using System.IO; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode;
public class Sample_AddFileToBuildSection { [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 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/InputFile.txt");
// Add the file to 'Resources' subfolder in the Xcode project string fileGuid = pbxProject.AddFile(filePath, "Resources/InputFile.txt");
// Get a GUID for the section you want to add the file to string resourcePhaseGuid = pbxProject.GetSourcesBuildPhaseByTarget(mainTargetGuid);
// Add the file to build by specifying the section GUID pbxProject.AddFileToBuildSection(mainTargetGuid, resourcePhaseGuid, fileGuid);
// Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); } }