Пример #1
0
    private static void AddCapabilitys(ProjectCapabilityManager pcbManager, string capabilityName, object[] args)
    {
        switch (capabilityName)
        {
        case "ApplePay":
            pcbManager.AddApplePay(args as string[]);
            break;

        case "AppGroups":
            pcbManager.AddAppGroups(args as string[]);
            break;

        case "AssociatedDomains":
            pcbManager.AddAssociatedDomains(args as string[]);
            break;

        case "BackgroundModes":
            BackgroundModesOptions ops = BackgroundModesOptions.None;
            foreach (string op in args)
            {
                BackgroundModesOptions bmop;
                if (Enum.TryParse(op, out bmop))
                {
                    ops = ops | bmop;
                }
            }
            pcbManager.AddBackgroundModes(ops);
            break;

        case "DataProtection":
            pcbManager.AddDataProtection();
            break;

        case "GameCenter":
            pcbManager.AddGameCenter();
            break;

        case "HealthKit":
            pcbManager.AddHealthKit();
            break;

        case "HomeKit":
            pcbManager.AddHomeKit();
            break;

        case "iCloud":
            bool          enableKeyValueStorage = Convert.ToBoolean(args[0]);
            bool          enableiCloudDocument  = Convert.ToBoolean(args[1]);
            List <string> customContainers      = new List <string>();
            if (args.Length > 2)
            {
                for (int i = 2; i < args.Length - 1; i++)
                {
                    customContainers.Add(args[i].ToString());
                }
            }
            pcbManager.AddiCloud(enableKeyValueStorage, enableiCloudDocument, customContainers.ToArray());
            break;

        case "InAppPurchase":
            pcbManager.AddInAppPurchase();
            break;

        case "InterAppAudio":
            pcbManager.AddInterAppAudio();
            break;

        case "KeychainSharing":
            pcbManager.AddKeychainSharing(args as string[]);
            break;

        case "Maps":
            MapsOptions mops = MapsOptions.None;
            foreach (string op in args)
            {
                MapsOptions mop;
                if (Enum.TryParse(op, out mop))
                {
                    mops = mops | mop;
                }
            }
            pcbManager.AddMaps(mops);
            break;

        case "PersonalVPN":
            pcbManager.AddPersonalVPN();
            break;

        case "PushNotifications":
            bool development = Convert.ToBoolean(args[0]);
            pcbManager.AddPushNotifications(development);
            break;

        case "Siri":
            pcbManager.AddSiri();
            break;

        case "Wallet":
            pcbManager.AddWallet(args as string[]);
            break;

        case "WirelessAccessoryConfiguration":
            pcbManager.AddWirelessAccessoryConfiguration();
            break;

        case "SignInWithApple":
            pcbManager.AddSignInWithApple();
            break;

        case "AccessWiFiInformation":
            pcbManager.AddAccessWiFiInformation();
            break;
        }
    }