public void AddBackgroundModes(BackgroundModesOptions options) { var optionArr = (GetOrCreateInfoDoc().root[BackgroundInfo.Key] ?? (GetOrCreateInfoDoc().root[BackgroundInfo.Key] = new PlistElementArray())) as PlistElementArray; if ((options & BackgroundModesOptions.ActsAsABluetoothLEAccessory) == BackgroundModesOptions.ActsAsABluetoothLEAccessory) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeActsBluetoothValue); } if ((options & BackgroundModesOptions.AudioAirplayPiP) == BackgroundModesOptions.AudioAirplayPiP) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeAudioValue); } if ((options & BackgroundModesOptions.BackgroundFetch) == BackgroundModesOptions.BackgroundFetch) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeFetchValue); } if ((options & BackgroundModesOptions.ExternalAccessoryCommunication) == BackgroundModesOptions.ExternalAccessoryCommunication) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeExtAccessoryValue); } if ((options & BackgroundModesOptions.LocationUpdates) == BackgroundModesOptions.LocationUpdates) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeLocationValue); } if ((options & BackgroundModesOptions.NewsstandDownloads) == BackgroundModesOptions.NewsstandDownloads) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeNewsstandValue); } if ((options & BackgroundModesOptions.RemoteNotifications) == BackgroundModesOptions.RemoteNotifications) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModePushValue); } if ((options & BackgroundModesOptions.VoiceOverIP) == BackgroundModesOptions.VoiceOverIP) { GetOrCreateStringElementInArray(optionArr, BackgroundInfo.ModeVOIPValue); } project.AddCapability(m_TargetGuid, PBXCapabilityType.BackgroundModes); }
public void AddBackgroundModes(BackgroundModesOptions options) { PlistElement plistElement1 = this.GetOrCreateInfoDoc().root[BackgroundInfo.Key]; if (plistElement1 == null) { PlistElement plistElement2 = (PlistElement) new PlistElementArray(); this.GetOrCreateInfoDoc().root[BackgroundInfo.Key] = plistElement2; plistElement1 = plistElement2; } PlistElementArray root = plistElement1 as PlistElementArray; if ((options & BackgroundModesOptions.ActsAsABluetoothLEAccessory) == BackgroundModesOptions.ActsAsABluetoothLEAccessory) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeActsBluetoothValue); } if ((options & BackgroundModesOptions.AudioAirplayPiP) == BackgroundModesOptions.AudioAirplayPiP) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeAudioValue); } if ((options & BackgroundModesOptions.BackgroundFetch) == BackgroundModesOptions.BackgroundFetch) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeFetchValue); } if ((options & BackgroundModesOptions.ExternalAccessoryCommunication) == BackgroundModesOptions.ExternalAccessoryCommunication) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeExtAccessoryValue); } if ((options & BackgroundModesOptions.LocationUpdates) == BackgroundModesOptions.LocationUpdates) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeLocationValue); } if ((options & BackgroundModesOptions.NewsstandDownloads) == BackgroundModesOptions.NewsstandDownloads) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeNewsstandValue); } if ((options & BackgroundModesOptions.RemoteNotifications) == BackgroundModesOptions.RemoteNotifications) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModePushValue); } if ((options & BackgroundModesOptions.VoiceOverIP) == BackgroundModesOptions.VoiceOverIP) { this.GetOrCreateStringElementInArray(root, BackgroundInfo.ModeVOIPValue); } this.project.AddCapability(this.m_TargetGuid, PBXCapabilityType.BackgroundModes, (string)null, false); }
static void AddCapabilities(PBXProject proj, string targetGuid, ProjectCapabilityManager capManager) { var capability = ISD_Settings.Instance.Capability; if (capability.iCloud.Enabled) { if (capability.iCloud.iCloudDocument || capability.iCloud.customContainers.Count > 0) { capManager.AddiCloud(capability.iCloud.keyValueStorage, capability.iCloud.iCloudDocument, capability.iCloud.customContainers.ToArray()); } else { capManager.AddiCloud(capability.iCloud.keyValueStorage, false, null); } } if (capability.PushNotifications.Enabled) { capManager.AddPushNotifications(capability.PushNotifications.development); } if (capability.GameCenter.Enabled) { capManager.AddGameCenter(); } if (capability.Wallet.Enabled) { capManager.AddWallet(capability.Wallet.passSubset.ToArray()); } if (capability.Siri.Enabled) { capManager.AddSiri(); } if (capability.ApplePay.Enabled) { capManager.AddApplePay(capability.ApplePay.merchants.ToArray()); } if (capability.InAppPurchase.Enabled) { capManager.AddInAppPurchase(); } if (capability.Maps.Enabled) { var options = MapsOptions.None; foreach (var opt in capability.Maps.options) { MapsOptions opt2 = (MapsOptions)opt; options |= opt2; } capManager.AddMaps(options); } if (capability.PersonalVPN.Enabled) { capManager.AddPersonalVPN(); } if (capability.BackgroundModes.Enabled) { var options = BackgroundModesOptions.None; foreach (var opt in capability.BackgroundModes.options) { BackgroundModesOptions opt2 = (BackgroundModesOptions)opt; options |= opt2; } capManager.AddBackgroundModes(options); } if (capability.InterAppAudio.Enabled) { capManager.AddInterAppAudio(); } if (capability.KeychainSharing.Enabled) { capManager.AddKeychainSharing(capability.KeychainSharing.accessGroups.ToArray()); } if (capability.AssociatedDomains.Enabled) { capManager.AddAssociatedDomains(capability.AssociatedDomains.domains.ToArray()); } if (capability.AppGroups.Enabled) { capManager.AddAppGroups(capability.AppGroups.groups.ToArray()); } if (capability.DataProtection.Enabled) { capManager.AddDataProtection(); } if (capability.HomeKit.Enabled) { capManager.AddHomeKit(); } if (capability.HealthKit.Enabled) { capManager.AddHealthKit(); } if (capability.WirelessAccessoryConfiguration.Enabled) { capManager.AddWirelessAccessoryConfiguration(); } /* * * * if (ISD_Settings.Instance.Capabilities.Count == 0) { * return; * } * * * foreach (var cap in ISD_Settings.Instance.Capabilities) { * switch(cap.CapabilityType) { * * * case ISD_CapabilityType.InAppPurchase: * capManager.AddInAppPurchase(); * break; * case ISD_CapabilityType.GameCenter: * capManager.AddGameCenter(); * break; * case ISD_CapabilityType.PushNotifications: * var pushSettings = ISD_Settings.Instance.PushNotificationsCapabilitySettings; * capManager.AddPushNotifications(pushSettings.Development); * break; * * default: * var capability = ISD_PBXCapabilityTypeUtility.ToPBXCapability(cap.CapabilityType); * string entitlementsFilePath = null; * if(!string.IsNullOrEmpty(cap.EntitlementsFilePath)) { * entitlementsFilePath = cap.EntitlementsFilePath; * } * * * proj.AddCapability(targetGuid, capability, entitlementsFilePath, cap.AddOptionalFramework); * break; * } * } */ }
private static void AddCapabilities(ProjectCapabilityManager capManager) { var capability = ISD_Settings.Instance.Capability; if (capability.iCloud.Enabled) { if (capability.iCloud.iCloudDocument || capability.iCloud.customContainers.Count > 0) { capManager.AddiCloud(capability.iCloud.keyValueStorage, capability.iCloud.iCloudDocument, capability.iCloud.customContainers.ToArray()); } else { capManager.AddiCloud(capability.iCloud.keyValueStorage, false, null); } } if (capability.PushNotifications.Enabled) { capManager.AddPushNotifications(capability.PushNotifications.development); } if (capability.GameCenter.Enabled) { capManager.AddGameCenter(); } if (capability.Wallet.Enabled) { capManager.AddWallet(capability.Wallet.passSubset.ToArray()); } if (capability.Siri.Enabled) { capManager.AddSiri(); } if (capability.ApplePay.Enabled) { capManager.AddApplePay(capability.ApplePay.merchants.ToArray()); } if (capability.InAppPurchase.Enabled) { capManager.AddInAppPurchase(); } if (capability.Maps.Enabled) { var options = MapsOptions.None; foreach (var opt in capability.Maps.options) { MapsOptions opt2 = (MapsOptions)opt; options |= opt2; } capManager.AddMaps(options); } if (capability.PersonalVPN.Enabled) { capManager.AddPersonalVPN(); } if (capability.BackgroundModes.Enabled) { var options = BackgroundModesOptions.None; foreach (var opt in capability.BackgroundModes.options) { BackgroundModesOptions opt2 = (BackgroundModesOptions)opt; options |= opt2; } capManager.AddBackgroundModes(options); } if (capability.InterAppAudio.Enabled) { capManager.AddInterAppAudio(); } if (capability.KeychainSharing.Enabled) { capManager.AddKeychainSharing(capability.KeychainSharing.accessGroups.ToArray()); } if (capability.AssociatedDomains.Enabled) { capManager.AddAssociatedDomains(capability.AssociatedDomains.domains.ToArray()); } if (capability.AppGroups.Enabled) { capManager.AddAppGroups(capability.AppGroups.groups.ToArray()); } if (capability.DataProtection.Enabled) { capManager.AddDataProtection(); } if (capability.HomeKit.Enabled) { capManager.AddHomeKit(); } if (capability.HealthKit.Enabled) { capManager.AddHealthKit(); } if (capability.WirelessAccessoryConfiguration.Enabled) { capManager.AddWirelessAccessoryConfiguration(); } }