ProjectCapabilityManager.AddiCloud

Declaration

public void AddiCloud(bool enableKeyValueStorage, bool enableiCloudDocument, string[] customContainers);

Declaration

public void AddiCloud(bool enableKeyValueStorage, bool enableiCloudDocument, bool enablecloudKit, bool addDefaultContainers, string[] customContainers);

Parameters

enableKeyValueStorage Enables or disables key-value Storage.
enableiCloudDocument Enables or disables iCloud document storage.
enablecloudKit Enables cloudKit option.
addDefaultContainers Default containers are added if this option is set to true.
customContainers Array of containers in which to store documents on iCloud. For more information about custom container types, refer to Manage iCloud document storage and CloudKit containers.

Description

iCloud Storage APIs enable your apps to store data and documents in iCloud.

using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;

public class Sample_AddiCloud { [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 'iCloud' capability and pass any arguments & custom containers to match your setup string[] containers = new string[] { "iCloud.com.example.container1", "iCloud.com.example.container2" }; capabilityManager.AddiCloud(true, true, containers);

// Call WriteToFile to save the changes to project file capabilityManager.WriteToFile(); }

}

Did you find this page useful? Please give it a rating: