Esempio n. 1
0
        public void AllSelected()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.Maps, true);
            var capability = cf.Capabilities.Capability(SystemCapability.Maps) as MapsCapability;

            capability.Airplane    = true;
            capability.Bike        = true;
            capability.Bus         = true;
            capability.Car         = true;
            capability.Ferry       = true;
            capability.Other       = true;
            capability.Pedestrian  = true;
            capability.RideSharing = true;
            capability.Streetcar   = true;
            capability.Subway      = true;
            capability.Taxi        = true;
            capability.Train       = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("Maps.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("MapsAll.plist", TestInfoPlistFilePath);
        }
        public void InAppPurchase()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.InAppPurchase, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("InAppPurchase.pbxproj", TestPBXFilePath);
        }
        public void NoneSelected()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.NetworkExtensions, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("NetworkExtensions.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("NetworkExtensionsNone.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 4
0
        public void HotspotConfiguration()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.HotspotConfiguration, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("HotspotConfiguration.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("HotspotConfiguration.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 5
0
        public void Empty()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.KeychainSharing, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("KeychainSharing.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("KeychainSharingEmpty.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 6
0
        public void GameCenter()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.GameCenter, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("GameCenter.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("GameCenter.plist", TestInfoPlistFilePath);
        }
Esempio n. 7
0
        static void MergeSelection()
        {
            var objects = Selection.objects;

            if (objects == null || objects.Length < 2)
            {
                EditorUtility.DisplayDialog("Merge Error", "You need to select at least 2 EgoXproject change files to merge.", "OK");
                return;
            }

            List <XcodeChangeFile> changeFiles = new List <XcodeChangeFile>();

            foreach (var obj in objects)
            {
                string path = AssetDatabase.GetAssetPath(obj);

                if (Path.GetExtension(path) != XcodeChangeFile.Extension)
                {
                    continue;
                }

                XcodeChangeFile changeFile = XcodeChangeFile.Load(path);

                if (changeFile != null)
                {
                    changeFiles.Add(changeFile);
                }
            }

            if (changeFiles.Count < 2)
            {
                EditorUtility.DisplayDialog("Merge Error", "You need to select at least 2 EgoXproject change files to merge.", "OK");
                return;
            }

            XcodeChangeFile mergedFile = new XcodeChangeFile();

            for (int ii = 0; ii < changeFiles.Count; ++ii)
            {
                mergedFile.Merge(changeFiles[ii]);
            }

            string ext      = XcodeChangeFile.Extension.Substring(1); //can't have the . in the extension name for unity.
            string savePath = EditorUtility.SaveFilePanelInProject("Save Merged file", "Merged", ext, "Save the merged change file");

            if (!string.IsNullOrEmpty(savePath))
            {
                mergedFile.Save(savePath);
                AssetDatabase.ImportAsset(savePath);
            }
        }
        public void HealthKit()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.HealthKit, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("HealthKit.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("HealthKit.entitlements", TestEntitlementsFilePath);
            CompareInfoPlistFiles("HealthKit.plist", TestInfoPlistFilePath);
        }
Esempio n. 9
0
        public void NoneTVOS()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Platform = BuildPlatform.tvOS;
            cf.Capabilities.EnableCapability(SystemCapability.GameControllers, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("GameControllersTVOS.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("GameControllersNoneTVOS.plist", TestInfoPlistFilePath);
        }
Esempio n. 10
0
        public void DataProtectionTVOS()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Platform = BuildPlatform.tvOS;
            cf.Capabilities.EnableCapability(SystemCapability.DataProtection, true);
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("DataProtection.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("DataProtection.entitlements", TestEntitlementsFilePath);
        }
        public void LocationUpdates()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.BackgroundModes, true);
            var capability = cf.Capabilities.Capability(SystemCapability.BackgroundModes) as BackgroundModesCapability;

            capability.LocationUpdates = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("BackgroundModes.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("BackgroundModesLocationUpdates.plist", TestInfoPlistFilePath);
        }
Esempio n. 12
0
        public void Entry()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.ApplePay, true);
            var capability = cf.Capabilities.Capability(SystemCapability.ApplePay) as ApplePayCapability;

            capability.MerchantIds.Add("merchant.uk.co.egomotion.egoxproject.merch1");
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("ApplePay.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("ApplePayEntry.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 13
0
        public void Bus()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.Maps, true);
            var capability = cf.Capabilities.Capability(SystemCapability.Maps) as MapsCapability;

            capability.Bus = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("Maps.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("MapsBus.plist", TestInfoPlistFilePath);
        }
        public void Entry()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.AssociatedDomains, true);
            var capability = cf.Capabilities.Capability(SystemCapability.AssociatedDomains) as AssociatedDomainsCapability;

            capability.AssociatedDomains.Add("webcredentials:egomotion.co.uk");
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("AssociatedDomains.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("AssociatedDomainsEntry.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 15
0
        public void CloudKit()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.iCloud, true);
            var capability = cf.Capabilities.Capability(SystemCapability.iCloud) as ICloudCapability;

            capability.CloudKit = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("iCloudCloudKit.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("iCloudCloudKit.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 16
0
        public void Entry()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.KeychainSharing, true);
            var capability = cf.Capabilities.Capability(SystemCapability.KeychainSharing) as KeychainSharingCapability;

            capability.KeychainGroups.Add("uk.co.egomotion.egoxproject.sampleapp");
            capability.KeychainGroups.Add("uk.co.egomotion.otherapp");
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("KeychainSharing.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("KeychainSharingEntry.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 17
0
        public void KeyValueTVOS()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Platform = BuildPlatform.tvOS;
            cf.Capabilities.EnableCapability(SystemCapability.iCloud, true);
            var capability = cf.Capabilities.Capability(SystemCapability.iCloud) as ICloudCapability;

            capability.KeyValueStorage = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("iCloud.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("iCloudKeyValue.entitlements", TestEntitlementsFilePath);
        }
        public void ExternalAccCommsTVOS()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Platform = BuildPlatform.tvOS;
            cf.Capabilities.EnableCapability(SystemCapability.BackgroundModes, true);
            var capability = cf.Capabilities.Capability(SystemCapability.BackgroundModes) as BackgroundModesCapability;

            capability.ExternalAccComms = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("BackgroundModesTVOS.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("BackgroundModesExternalAccComms.plist", TestInfoPlistFilePath);
        }
Esempio n. 19
0
        public void AllTVOS()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Platform = BuildPlatform.tvOS;
            cf.Capabilities.EnableCapability(SystemCapability.GameControllers, true);
            var capability = cf.Capabilities.Capability(SystemCapability.GameControllers) as GameControllersCapability;

            capability.GameControllers = new GameControllersCapability.GameControllerType[] { GameControllersCapability.GameControllerType.ExtendedGamepad, GameControllersCapability.GameControllerType.MicroGamepad };
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("GameControllersTVOS.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("GameControllersAllTVOS.plist", TestInfoPlistFilePath);
        }
Esempio n. 20
0
        public void EntryTVOS()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Platform = BuildPlatform.tvOS;
            cf.Capabilities.EnableCapability(SystemCapability.AppGroups, true);
            var capability = cf.Capabilities.Capability(SystemCapability.AppGroups) as AppGroupsCapability;

            capability.AppGroups.Add("group.uk.co.egomotion.egoxproject.grp1");
            capability.AppGroups.Add("group.uk.co.egomotion.egoxproject.grp2");
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("AppGroups.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("AppGroupsEntry.entitlements", TestEntitlementsFilePath);
        }
        public void AllSelected()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.NetworkExtensions, true);
            var capability = cf.Capabilities.Capability(SystemCapability.NetworkExtensions) as NetworkExtensionsCapability;

            capability.AppProxy      = true;
            capability.ContentFilter = true;
            capability.PacketTunnel  = true;
            capability.DNSProxy      = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("NetworkExtensions.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("NetworkExtensionsAll.entitlements", TestEntitlementsFilePath);
        }
Esempio n. 22
0
        public void DocumentsCustomContainers()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.iCloud, true);
            var capability = cf.Capabilities.Capability(SystemCapability.iCloud) as ICloudCapability;

            capability.iCloudDocuments     = true;
            capability.UseCustomContainers = true;
            capability.CustomContainers.Add("iCloud.$(CFBundleIdentifier)");
            capability.CustomContainers.Add("iCloud.my.sample.egoxproject.container");
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("iCloud.pbxproj", TestPBXFilePath);
            CompareEntitlementFiles("iCloudDocumentsContainers.entitlements", TestEntitlementsFilePath);
        }
        public void All()
        {
            CreateOriginalCopies();
            var xpm = new XcodeProjectManipulator();

            Assert.True(xpm.Load(XcodeProjectPath));
            var cf = new XcodeChangeFile();

            cf.Capabilities.EnableCapability(SystemCapability.BackgroundModes, true);
            var capability = cf.Capabilities.Capability(SystemCapability.BackgroundModes) as BackgroundModesCapability;

            capability.ActsAsBTLEAcc       = true;
            capability.AudioAirplayPIP     = true;
            capability.BackgroundFetch     = true;
            capability.ExternalAccComms    = true;
            capability.LocationUpdates     = true;
            capability.NewsstandDownloads  = true;
            capability.RemoteNotifications = true;
            capability.UsesBTLEAcc         = true;
            capability.VOIP = true;
            Assert.True(xpm.ApplyChanges(cf));
            CompareProjectFiles("BackgroundModes.pbxproj", TestPBXFilePath);
            CompareInfoPlistFiles("BackgroundModesAll.plist", TestInfoPlistFilePath);
        }