# GetUnityAPITargetGuid()

> Returns the GUID of the UnityAPI target, or null if the project does not contain one.

## Definition

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

```csharp
public string GetUnityAPITargetGuid()
```

### Returns

| Type                                                           | Description                                                               |
| -------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [string](https://learn.microsoft.com/dotnet/api/system.string) | The GUID for the UnityAPI target, or null when the target is not present. |

### Remarks

Returns the GUID of the UnityAPI target. The UnityAPI target is a static framework that contains the trampoline source code and exposes the public UnityAPI module to native plug-ins.

This target exists only for the Swift Xcode project type. It isn't generated for the Objective-C project type and returns null in that case. Set the project type with the `UnityEditor.PlayerSettings.xcodeProjectType` property.

To retrieve the other targets, use [PBXProject.GetUnityMainTargetGuid](/engine/6000.7/script-reference/unityeditor/ios/xcode/pbxproject/getunitymaintargetguid.md) and [PBXProject.GetUnityFrameworkTargetGuid](/engine/6000.7/script-reference/unityeditor/ios/xcode/pbxproject/getunityframeworktargetguid.md).

### Examples

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

public class Sample_GetUnityAPITargetGuid
{
    [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 for the UnityAPI target
        string unityAPIGuid = pbxProject.GetUnityAPITargetGuid();

        // The UnityAPI target only exists for the Swift project type; it is null for Objective-C
        if (unityAPIGuid == null)
            return;

        // The unityAPIGuid can be used to specify UnityAPI as the target when manipulating the pbxproj file
        pbxProject.SetBuildProperty(unityAPIGuid, "GCC_PREPROCESSOR_DEFINITIONS", "MY_PLUGIN_DEFINE=1");

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