# GetCopyFilesBuildPhaseByTarget(string, string, string, string)

> Returns the GUID of matching copy files build phase for the given target.

## Definition

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

```csharp
public string GetCopyFilesBuildPhaseByTarget(string targetGuid, string name, string dstPath, string subfolderSpec)
```

### 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.6/script-reference/unityeditor/ios/xcode/pbxproject/targetguidbyname.md).**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the phase.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The destination path.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The subfolder spec. The following usages are known:- `10` for embedding frameworks.
- `13` for embedding app extension content.
- `16` for embedding watch content.

### Returns

| Type                                                           | Description                                                          |
| -------------------------------------------------------------- | -------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | Returns the GUID of the matching phase or null if it does not exist. |

### Remarks

The parameters of existing copy files build phase are matched to the arguments of this function and the GUID of the phase is returned only if a matching build phase is found.

### Examples

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

public class Sample_GetCopyFilesBuildPhaseByTarget  
{
    [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 "Embed Frameworks" build phase GUID 
        string copyFilesPhase = pbxProject.GetCopyFilesBuildPhaseByTarget(targetGuid, "Embed Frameworks", "", "10");

        // Log the "Embed Frameworks" build phase GUID for debugging
        Debug.Log("Copy 'Embed Frameworks' phase GUID: " + copyFilesPhase);
    }
}
```
