From 5e8dca13aa592048ed2d5b850027ab31f5a12d18 Mon Sep 17 00:00:00 2001 From: Oleg Demchenko Date: Thu, 4 Jan 2018 15:41:57 -0500 Subject: [PATCH 1/2] Add AllKeys property and GetEntitlementsKeys method --- Xamarin.MacDev/EntitlementExtensions.cs | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Xamarin.MacDev/EntitlementExtensions.cs b/Xamarin.MacDev/EntitlementExtensions.cs index bbe1698..4eb7059 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 GetEntitlementsKeys (this PDictionary dict) + { + var enabledEntitlements = new List (); + + foreach (var key in EntitlementKeys.AllKeys) { + if (dict.ContainsKey (key)) + enabledEntitlements.Add (key); + } + + return enabledEntitlements; + } } } From 021353dbc022e34343bd55c62b8d4a3c8a291f7d Mon Sep 17 00:00:00 2001 From: Oleg Demchenko Date: Fri, 5 Jan 2018 11:49:25 -0500 Subject: [PATCH 2/2] Fix method name GetEntitlementsKeys -> GetEntitlementKeys --- Xamarin.MacDev/EntitlementExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xamarin.MacDev/EntitlementExtensions.cs b/Xamarin.MacDev/EntitlementExtensions.cs index 4eb7059..93daf75 100644 --- a/Xamarin.MacDev/EntitlementExtensions.cs +++ b/Xamarin.MacDev/EntitlementExtensions.cs @@ -155,7 +155,7 @@ public static void SetPassBookIdentifiers (this PDictionary dict, PArray value) dict[EntitlementKeys.PassBookIdentifiers] = value; } - public static IEnumerable GetEntitlementsKeys (this PDictionary dict) + public static IEnumerable GetEntitlementKeys (this PDictionary dict) { var enabledEntitlements = new List ();