AddBackgroundModes(BackgroundModesOptions)
Add the Background Modes capability.
Read time 1 minuteLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEditor.iOS.Xcode
- Assembly: UnityEditor.iOS.Extensions.Xcode
public void AddBackgroundModes(BackgroundModesOptions options)
Parameters
Mask of BackgroundModesOptions to enable.
Examples
using UnityEditor;using UnityEditor.Callbacks;using UnityEditor.iOS.Xcode;public class Sample_AddBackgroundModes { [PostProcessBuild] public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject) { // Stop processing if build target isn't iOS if (buildTarget != BuildTarget.iOS) return; // Initialize PBXProject var projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject); PBXProject pbxProject = new PBXProject(); pbxProject.ReadFromFile(projectPath); // Get Main target GUID string mainTargetGuid = pbxProject.GetUnityMainTargetGuid(); // Check if there's already an entitlements file created and use it. If not, create a new file called Example.entitlements string entitlementsFile = pbxProject.GetBuildPropertyForAnyConfig(mainTargetGuid, "CODE_SIGN_ENTITLEMENTS"); if (entitlementsFile == null) { entitlementsFile = string.Format("Example.entitlements"); } // Initialize ProjectCapabilityManager ProjectCapabilityManager capabilityManager = new ProjectCapabilityManager(projectPath, entitlementsFile, targetGuid: mainTargetGuid); // Add 'Background Modes' capability and pass any BackgroundModes you want to enable capabilityManager.AddBackgroundModes(BackgroundModesOptions.BackgroundFetch | BackgroundModesOptions.LocationUpdates); // Call WriteToFile to save the changes to project file capabilityManager.WriteToFile(); }}