# AddSourcesBuildPhase(string)

> Creates a new sources build phase for a given target.

## Definition

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

```csharp
public string AddSourcesBuildPhase(string targetGuid)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The GUID of the target, such as the one returned by [PBXProject.TargetGuidByName](/engine/6000.3/script-reference/unityeditor/ios/xcode/pbxproject/targetguidbyname.md).

### Returns

| Type                                                           | Description                        |
| -------------------------------------------------------------- | ---------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | Returns the GUID of the new phase. |

### Remarks

If the sources build phase is already configured for the target, the function returns the existing phase. The new phase is placed at the end of the list of build phases configured for the target.

### Examples

```csharp
using UnityEditor;
using System.IO;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;

public class Sample_AddSourcesBuildPhase  
{
    [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 GUID you want to add the Sources Build Phase to
        string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();

        // Add the Sources Build Phase to that target
        pbxProject.AddResourcesBuildPhase(mainTargetGuid);

        // Apply changes to the pbxproj file
        pbxProject.WriteToFile(projectPath);
    }
}
```
