Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetUnityAPITargetGuid()

Returns the GUID of the UnityAPI target, or null if the project does not contain one.
Read time 1 minuteLast updated 13 days ago

Definition

public string GetUnityAPITargetGuid()

Returns

Type

Description

stringThe 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.

Examples

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