ProjectCapabilityManager.AddiCloud
Declaration
public void AddiCloud(bool enableKeyValueStorage, bool enableiCloudDocument, string[] customContainers);public void AddiCloud(bool enableKeyValueStorage, bool enableiCloudDocument, bool enablecloudKit, bool addDefaultContainers, string[] customContainers);Параметры
| Параметр | Описание |
|---|---|
| enableKeyValueStorage | Включает или отключает хранение ключей и значений. |
| enableiCloudDocument | Включает или отключает хранение документов iCloud. |
| enablecloudKit | Включает опцию cloudKit. |
| addDefaultContainers | Установите true для добавления контейнеров по умолчанию. |
| customContainers | Массив контейнеров для хранения документов на iCloud. Дополнительные сведения об пользовательских типах контейнеров см. в Управление хранилищами документов iCloud и контейнерами CloudKit. |
Описание
iCloud Хранение APIs позволить вашим приложениям хранить данные и документы в iCloud.
Примечание: Когда включен режим хранения ключей и значений, com.apple.developer.ubiquity-kvstore-identifier установлен на $(TeamIdentifierPrefix)$(CFBundleIdentifier) и не может быть переопределено с помощью этого метода. Некоторые сценарии требуют настраиваемого значения. com.apple.developer.ubiquity-kvstore-identifier вручную в файле прав после сборки, или управлять этим ключом вне AddiCloud.
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(); }
}