PBXProject.ReplaceFile
Declaration
public void ReplaceFile(string fileGuid, string path, iOS.Xcode.PBXSourceTree source);Параметры
| Параметр | Описание |
|---|---|
| fileGuid | GUID ссылки на файл. |
| путь | Физический путь к новому файлу в файловой системе. |
| источник | Дерево источника, к которому относится путь. По умолчанию это PBXSourceTree.Source. Дерево PBXSourceTree.Group не поддерживается. |
Описание
Заменяет указанный файл новым.
Путь к указанному файлу заменяется, а GUID старого файла сохраняется.
using UnityEditor; using System.IO; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode;
public class Sample_ReplaceFile { [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.GetUnityMainTargetGuid();
// Get the GUID of the existing file you want to replace string existingFilePath = "Resources/oldExampleFile.txt"; string existingFileGuid = pbxProject.FindFileGuidByProjectPath(existingFilePath);
// Add the new file and get the GUID string newFilePath = "path/to/your/newExampleFile.txt"; string newFileGuid = pbxProject.AddFile(newFilePath, "Resources/newExampleFile.txt", PBXSourceTree.Source);
// Replace the existing file with the new file pbxProject.ReplaceFile(existingFileGuid, newFileGuid); // Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); } }