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
- Type: Method
- Namespace: UnityEditor.iOS.Xcode
- Assembly: UnityEditor.iOS.Extensions.Xcode
public string GetUnityAPITargetGuid()
Returns
Type | Description |
|---|---|
| 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 property.
UnityEditor.PlayerSettings.xcodeProjectTypeTo retrieve the other targets, use PBXProject.GetUnityMainTargetGuid and PBXProject.GetUnityFrameworkTargetGuid.
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); }}