Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetPBXProjectPath(string)

Returns the path to PBX project in the given Unity build path.
Read time 1 minuteLast updated 13 days ago

Definition

public static string GetPBXProjectPath(string buildPath)

Parameters

buildPath

The project build path.

Returns

Type

Description

stringThe path to the PBX project file. This path can be opened later using the PBXProject.ReadFromFile function.

Remarks

This function can only be used for Unity-generated projects.
Note: On VisionOS and macOS platforms this will return
BUILDPATH/Unity-iPhone.xcodeproj/project.pbxproj
, which isn't correct. Its not recommended to use this method when developing for visionOS or macOS.

Examples

using UnityEditor;using System.IO;using UnityEditor.Callbacks;using UnityEditor.iOS.Xcode;public class Sample_GetPBXProjectPath { [PostProcessBuild] public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject) { // Stop processing if build target is not iOS if (buildTarget != BuildTarget.iOS) return; // Initialize PBXProject by using GetPBXProjectPath to create PBXProject object string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject); PBXProject pbxProject = new PBXProject(); pbxProject.ReadFromFile(projectPath); // Get the GUID for the UnityFramework using it's name string unityFrameworkGuid = pbxProject.TargetGuidByName("UnityFramework"); // The unityFrameworkGuid can be used later to specify the UnityFramework as the target when manipulating the pbxproj file pbxProject.AddFrameworkToProject(unityFrameworkGuid, "Security.framework", false); pbxProject.SetBuildProperty(unityFrameworkGuid, "ENABLE_BITCODE", "NO"); // Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); }}