From f5e89bec49bbfdab4fb0b7110381d1339b4bf364 Mon Sep 17 00:00:00 2001 From: Oleg Demchenko Date: Tue, 2 Jan 2018 16:09:14 -0500 Subject: [PATCH 1/3] Add missing data protection entitlement key (#19) --- Xamarin.MacDev/EntitlementExtensions.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Xamarin.MacDev/EntitlementExtensions.cs b/Xamarin.MacDev/EntitlementExtensions.cs index aa76018..bbe1698 100644 --- a/Xamarin.MacDev/EntitlementExtensions.cs +++ b/Xamarin.MacDev/EntitlementExtensions.cs @@ -10,6 +10,7 @@ namespace Xamarin.MacDev { public static class EntitlementKeys { + public const string DataProtection = "com.apple.developer.default-data-protection"; public const string WirelessAccessoryConfiguration = "com.apple.external-accessory.wireless-configuration"; public const string UbiquityKeyValueStore = "com.apple.developer.ubiquity-kvstore-identifier"; public const string UbiquityContainers = "com.apple.developer.ubiquity-container-identifiers"; From df960c4a40219b2e2d94334567e0a615cfd4e345 Mon Sep 17 00:00:00 2001 From: Oleg Demchenko Date: Fri, 5 Jan 2018 11:54:28 -0500 Subject: [PATCH 2/3] Add AllKeys property and GetEntitlementsKeys method (#20) * Add AllKeys property and GetEntitlementsKeys method * Fix method name GetEntitlementsKeys -> GetEntitlementKeys --- Xamarin.MacDev/EntitlementExtensions.cs | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Xamarin.MacDev/EntitlementExtensions.cs b/Xamarin.MacDev/EntitlementExtensions.cs index bbe1698..93daf75 100644 --- a/Xamarin.MacDev/EntitlementExtensions.cs +++ b/Xamarin.MacDev/EntitlementExtensions.cs @@ -6,6 +6,10 @@ // Copyright (c) 2016 Xamarin Inc. (www.xamarin.com) // +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + namespace Xamarin.MacDev { public static class EntitlementKeys @@ -31,6 +35,17 @@ public static class EntitlementKeys public const string GetTaskAllow = "get-task-allow"; public const string Siri = "com.apple.developer.siri"; public const string APS = "aps-environment"; + + public static IEnumerable AllKeys { + get { + var entitlementKeys = typeof (EntitlementKeys).GetFields (BindingFlags.Public | BindingFlags.Static). + Where (f => f.FieldType == typeof (string)). + Select (field => (string) field.GetValue (null)). + ToList (); + + return entitlementKeys; + } + } } public static class EntitlementExtensions @@ -139,5 +154,17 @@ public static void SetPassBookIdentifiers (this PDictionary dict, PArray value) else dict[EntitlementKeys.PassBookIdentifiers] = value; } + + public static IEnumerable GetEntitlementKeys (this PDictionary dict) + { + var enabledEntitlements = new List (); + + foreach (var key in EntitlementKeys.AllKeys) { + if (dict.ContainsKey (key)) + enabledEntitlements.Add (key); + } + + return enabledEntitlements; + } } } From cd2823e68b2ca552544e41c3b163eddfee68214b Mon Sep 17 00:00:00 2001 From: Oleg Demchenko Date: Fri, 19 Jan 2018 13:37:27 -0500 Subject: [PATCH 3/3] Add NFC entitlement key to EntitlementKeys (#22) --- Xamarin.MacDev/EntitlementExtensions.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Xamarin.MacDev/EntitlementExtensions.cs b/Xamarin.MacDev/EntitlementExtensions.cs index 93daf75..312a068 100644 --- a/Xamarin.MacDev/EntitlementExtensions.cs +++ b/Xamarin.MacDev/EntitlementExtensions.cs @@ -25,6 +25,7 @@ public static class EntitlementKeys public const string ApplicationGroups = "com.apple.security.application-groups"; public const string NetworkingVpnApi = "com.apple.developer.networking.vpn.api"; public const string NetworkExtensions = "com.apple.developer.networking.networkextension"; + public const string NFC = "com.apple.developer.nfc.readersession.formats"; public const string HotspotConfiguration = "com.apple.developer.networking.HotspotConfiguration"; public const string Multipath = "com.apple.developer.networking.multipath"; public const string InAppPayments = "com.apple.developer.in-app-payments";