# GetPBXProjectPath(string)

> Returns the path to PBX project in the given Unity build path.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.iOS.Xcode](/engine/6000.3/script-reference/unityeditor/ios/xcode.md)
* **Assembly:** UnityEditor.iOS.Extensions.Xcode

```csharp
public static string GetPBXProjectPath(string buildPath)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The project build path.

### Returns

| Type                                                           | Description                                                                                                                                                                                     |
| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | The path to the PBX project file. This path can be opened later using the [PBXProject.ReadFromFile](/engine/6000.3/script-reference/unityeditor/ios/xcode/pbxproject/readfromfile.md) 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

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