Skip to content

Commit 8659237

Browse files
authored
Merge pull request #549 from insidegui/settings-screen-redesign
Settings screen redesign
2 parents c21c8dc + 1c141d4 commit 8659237

20 files changed

+750
-403
lines changed

DeepLinkSecurity/Source/Storage/DeepLinkManagementStore.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ import Foundation
33
/// Implemented by types that can provide persistence for a list of authorized/denied deep link clients,
44
/// so that a UI can be assembled showing the user their previous decisions and allowing users to change their mind.
55
public protocol DeepLinkManagementStore {
6-
/// Returns all deep link client descriptors previously added using ``insert(_:)``.
7-
nonisolated func clientDescriptors() -> AsyncStream<[DeepLinkClientDescriptor]>
6+
/// Returns deep link client descriptors previously added using ``insert(_:)``.
7+
var currentClientDescriptors: [DeepLinkClientDescriptor] { get }
8+
9+
/// Streams deep link client descriptors previously added using ``insert(_:)`` as they're updated.
10+
func clientDescriptors() -> AsyncStream<[DeepLinkClientDescriptor]>
811

912
/// Whether the store currently has a descriptor with the specified identifier.
1013
func hasDescriptor(with id: DeepLinkClientDescriptor.ID) async -> Bool

DeepLinkSecurity/Source/Storage/UserDefaultsDeepLinkManagementStore.swift

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,17 @@ public final actor UserDefaultsDeepLinkManagementStore: DeepLinkManagementStore
3232

3333
public func hasDescriptor(with id: DeepLinkClientDescriptor.ID) -> Bool { cachedDescriptors[id] != nil }
3434

35+
public nonisolated var currentClientDescriptors: [DeepLinkClientDescriptor] {
36+
Self.descriptorsArray(from: readDescriptors())
37+
}
38+
3539
public nonisolated func clientDescriptors() -> AsyncStream<[DeepLinkClientDescriptor]> {
3640
let stream = AsyncStream { [weak self] continuation in
3741
guard let self = self else { return }
3842

3943
Task {
4044
await self.onStoreChanged { descriptorsByID in
41-
let descriptors = descriptorsByID
42-
.values
43-
.map { $0.resolved() }
44-
.sorted(by: { $0.displayName.localizedStandardCompare($1.displayName) == .orderedAscending })
45+
let descriptors = Self.descriptorsArray(from: descriptorsByID)
4546

4647
continuation.yield(descriptors)
4748
}
@@ -56,6 +57,13 @@ public final actor UserDefaultsDeepLinkManagementStore: DeepLinkManagementStore
5657
return stream
5758
}
5859

60+
private static func descriptorsArray(from descriptorsByID: [DeepLinkClientDescriptor.ID: DeepLinkClientDescriptor]) -> [DeepLinkClientDescriptor] {
61+
descriptorsByID
62+
.values
63+
.map { $0.resolved() }
64+
.sorted(by: { $0.displayName.localizedStandardCompare($1.displayName) == .orderedAscending })
65+
}
66+
5967
public func insert(_ descriptor: DeepLinkClientDescriptor) async throws {
6068
await update(id: descriptor.id, with: descriptor)
6169

VirtualBuddy.xcodeproj/project.pbxproj

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
F42C015B2888FC0C00EB15CD /* VMSessionConfigurationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42C01542888FC0C00EB15CD /* VMSessionConfigurationView.swift */; };
8484
F42C015C2888FC0C00EB15CD /* VirtualMachineSessionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42C01552888FC0C00EB15CD /* VirtualMachineSessionView.swift */; };
8585
F42C015D2888FC0C00EB15CD /* SwiftUIVMView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42C01572888FC0C00EB15CD /* SwiftUIVMView.swift */; };
86-
F42C015E2888FC0C00EB15CD /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42C01592888FC0C00EB15CD /* PreferencesView.swift */; };
86+
F42C015E2888FC0C00EB15CD /* SettingsScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42C01592888FC0C00EB15CD /* SettingsScreen.swift */; };
8787
F42C01612888FC3500EB15CD /* LibraryItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42C01602888FC3500EB15CD /* LibraryItemView.swift */; };
8888
F42CF4A82DF5FEC3001DE049 /* BlurHashToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42CF4A72DF5FEC3001DE049 /* BlurHashToken.swift */; };
8989
F43B01182AD858FE00164CD1 /* DeepLinkSecurity.h in Headers */ = {isa = PBXBuildFile; fileRef = F43B01172AD858FE00164CD1 /* DeepLinkSecurity.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -122,7 +122,6 @@
122122
F44C00FB2889CE1600640BF5 /* VBVirtualMachine+Virtualization.swift in Sources */ = {isa = PBXBuildFile; fileRef = F44C00FA2889CE1600640BF5 /* VBVirtualMachine+Virtualization.swift */; };
123123
F4510A782AE2A16F00E24DD9 /* WeakReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4510A772AE2A16F00E24DD9 /* WeakReference.swift */; };
124124
F4510A7B2AE2B3B300E24DD9 /* DeepLinkSecurity.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F43B01152AD858FE00164CD1 /* DeepLinkSecurity.framework */; };
125-
F4510A7D2AE2B5C200E24DD9 /* DeepLinkAuthManagementUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4510A7C2AE2B5C200E24DD9 /* DeepLinkAuthManagementUI.swift */; };
126125
F453C4122DF0B1ED007EAD5F /* BuddyKit in Frameworks */ = {isa = PBXBuildFile; productRef = F453C4112DF0B1ED007EAD5F /* BuddyKit */; };
127126
F453C41D2DF0B43D007EAD5F /* ResolvedCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = F453C41A2DF0B43D007EAD5F /* ResolvedCatalog.swift */; };
128127
F453C41E2DF0B43D007EAD5F /* LegacyCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = F453C4182DF0B43D007EAD5F /* LegacyCatalog.swift */; };
@@ -293,6 +292,14 @@
293292
F4C18A5328491B9D00335EC7 /* VirtualWormhole.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F4C189E02848F59F00335EC7 /* VirtualWormhole.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
294293
F4C2374D2888A462001FF286 /* VolumeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4C2374C2888A462001FF286 /* VolumeUtils.swift */; };
295294
F4C237502888AF67001FF286 /* LogStreamer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4C2374F2888AF67001FF286 /* LogStreamer.swift */; };
295+
F4CD13202E05A5780067DC75 /* FileSystemPathFormControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD131F2E05A5780067DC75 /* FileSystemPathFormControl.swift */; };
296+
F4CD133C2E05A9DF0067DC75 /* OpenVirtualBuddySettingsAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD133B2E05A9DF0067DC75 /* OpenVirtualBuddySettingsAction.swift */; };
297+
F4CD133E2E05AB280067DC75 /* BackwardsCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD133D2E05AB280067DC75 /* BackwardsCompatibility.swift */; };
298+
F4CD13402E05AB8F0067DC75 /* GeneralSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD133F2E05AB8F0067DC75 /* GeneralSettingsView.swift */; };
299+
F4CD13442E05AD400067DC75 /* VerticalLabeledContentStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD13432E05AD400067DC75 /* VerticalLabeledContentStyle.swift */; };
300+
F4CD13462E05B4DE0067DC75 /* VirtualizationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD13452E05B4DE0067DC75 /* VirtualizationSettingsView.swift */; };
301+
F4CD13482E05B67E0067DC75 /* SettingsFooter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD13472E05B67E0067DC75 /* SettingsFooter.swift */; };
302+
F4CD134A2E05CB390067DC75 /* AutomationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4CD13492E05CB390067DC75 /* AutomationSettingsView.swift */; };
296303
F4D0F71528667984004D5782 /* VBVirtualMachine+Screenshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D0F71428667984004D5782 /* VBVirtualMachine+Screenshot.swift */; };
297304
F4D0F71828674E4B004D5782 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = F4D0F71728674E4B004D5782 /* Sparkle */; };
298305
F4D0F71A28674E76004D5782 /* SoftwareUpdateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D0F71928674E76004D5782 /* SoftwareUpdateController.swift */; };
@@ -587,7 +594,7 @@
587594
F42C01542888FC0C00EB15CD /* VMSessionConfigurationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VMSessionConfigurationView.swift; sourceTree = "<group>"; };
588595
F42C01552888FC0C00EB15CD /* VirtualMachineSessionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VirtualMachineSessionView.swift; sourceTree = "<group>"; };
589596
F42C01572888FC0C00EB15CD /* SwiftUIVMView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftUIVMView.swift; sourceTree = "<group>"; };
590-
F42C01592888FC0C00EB15CD /* PreferencesView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = "<group>"; };
597+
F42C01592888FC0C00EB15CD /* SettingsScreen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsScreen.swift; sourceTree = "<group>"; };
591598
F42C01602888FC3500EB15CD /* LibraryItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryItemView.swift; sourceTree = "<group>"; };
592599
F42CF4A72DF5FEC3001DE049 /* BlurHashToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurHashToken.swift; sourceTree = "<group>"; };
593600
F43B01152AD858FE00164CD1 /* DeepLinkSecurity.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DeepLinkSecurity.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -622,7 +629,6 @@
622629
F4450CC92ACB0DB500092618 /* KeyboardDeviceConfigurationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardDeviceConfigurationView.swift; sourceTree = "<group>"; };
623630
F44C00FA2889CE1600640BF5 /* VBVirtualMachine+Virtualization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VBVirtualMachine+Virtualization.swift"; sourceTree = "<group>"; };
624631
F4510A772AE2A16F00E24DD9 /* WeakReference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeakReference.swift; sourceTree = "<group>"; };
625-
F4510A7C2AE2B5C200E24DD9 /* DeepLinkAuthManagementUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeepLinkAuthManagementUI.swift; sourceTree = "<group>"; };
626632
F453C4162DF0B43D007EAD5F /* BlurHashEncode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurHashEncode.swift; sourceTree = "<group>"; };
627633
F453C4182DF0B43D007EAD5F /* LegacyCatalog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyCatalog.swift; sourceTree = "<group>"; };
628634
F453C4192DF0B43D007EAD5F /* MobileDeviceFramework.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MobileDeviceFramework.swift; sourceTree = "<group>"; };
@@ -791,6 +797,14 @@
791797
F4C18A4D28491B8500335EC7 /* VirtualBuddyGuest.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = VirtualBuddyGuest.entitlements; sourceTree = "<group>"; };
792798
F4C2374C2888A462001FF286 /* VolumeUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VolumeUtils.swift; sourceTree = "<group>"; };
793799
F4C2374F2888AF67001FF286 /* LogStreamer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogStreamer.swift; sourceTree = "<group>"; };
800+
F4CD131F2E05A5780067DC75 /* FileSystemPathFormControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileSystemPathFormControl.swift; sourceTree = "<group>"; };
801+
F4CD133B2E05A9DF0067DC75 /* OpenVirtualBuddySettingsAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenVirtualBuddySettingsAction.swift; sourceTree = "<group>"; };
802+
F4CD133D2E05AB280067DC75 /* BackwardsCompatibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackwardsCompatibility.swift; sourceTree = "<group>"; };
803+
F4CD133F2E05AB8F0067DC75 /* GeneralSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeneralSettingsView.swift; sourceTree = "<group>"; };
804+
F4CD13432E05AD400067DC75 /* VerticalLabeledContentStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerticalLabeledContentStyle.swift; sourceTree = "<group>"; };
805+
F4CD13452E05B4DE0067DC75 /* VirtualizationSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VirtualizationSettingsView.swift; sourceTree = "<group>"; };
806+
F4CD13472E05B67E0067DC75 /* SettingsFooter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsFooter.swift; sourceTree = "<group>"; };
807+
F4CD13492E05CB390067DC75 /* AutomationSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutomationSettingsView.swift; sourceTree = "<group>"; };
794808
F4D0F71428667984004D5782 /* VBVirtualMachine+Screenshot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VBVirtualMachine+Screenshot.swift"; sourceTree = "<group>"; };
795809
F4D0F71928674E76004D5782 /* SoftwareUpdateController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoftwareUpdateController.swift; sourceTree = "<group>"; };
796810
F4D0F71B28674F24004D5782 /* Features.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Features.xcconfig; sourceTree = "<group>"; };
@@ -1121,8 +1135,11 @@
11211135
F42C01582888FC0C00EB15CD /* Settings */ = {
11221136
isa = PBXGroup;
11231137
children = (
1124-
F42C01592888FC0C00EB15CD /* PreferencesView.swift */,
1125-
F4510A7C2AE2B5C200E24DD9 /* DeepLinkAuthManagementUI.swift */,
1138+
F4CD131E2E05A5760067DC75 /* Components */,
1139+
F42C01592888FC0C00EB15CD /* SettingsScreen.swift */,
1140+
F4CD133F2E05AB8F0067DC75 /* GeneralSettingsView.swift */,
1141+
F4CD13452E05B4DE0067DC75 /* VirtualizationSettingsView.swift */,
1142+
F4CD13492E05CB390067DC75 /* AutomationSettingsView.swift */,
11261143
);
11271144
path = Settings;
11281145
sourceTree = "<group>";
@@ -1850,6 +1867,18 @@
18501867
path = Utilities;
18511868
sourceTree = "<group>";
18521869
};
1870+
F4CD131E2E05A5760067DC75 /* Components */ = {
1871+
isa = PBXGroup;
1872+
children = (
1873+
F4CD13432E05AD400067DC75 /* VerticalLabeledContentStyle.swift */,
1874+
F4CD131F2E05A5780067DC75 /* FileSystemPathFormControl.swift */,
1875+
F4CD133B2E05A9DF0067DC75 /* OpenVirtualBuddySettingsAction.swift */,
1876+
F4CD133D2E05AB280067DC75 /* BackwardsCompatibility.swift */,
1877+
F4CD13472E05B67E0067DC75 /* SettingsFooter.swift */,
1878+
);
1879+
path = Components;
1880+
sourceTree = "<group>";
1881+
};
18531882
F4D3059529B8D9C70006E748 /* WireProtocol */ = {
18541883
isa = PBXGroup;
18551884
children = (
@@ -2447,12 +2476,16 @@
24472476
F413696429916F6E002CE8D3 /* StatusItemProviderProtocol.swift in Sources */,
24482477
F422587E2885E2ED009420AE /* HardwareConfigurationView.swift in Sources */,
24492478
F444D0CC2DF322B90086537A /* SoftwareCatalog+Placeholder.swift in Sources */,
2479+
F4CD134A2E05CB390067DC75 /* AutomationSettingsView.swift in Sources */,
24502480
F4FC98392BB386A000E511C9 /* ContinuousProgressIndicator.swift in Sources */,
24512481
F4E4F7202DF080FC00B3B8BA /* RestoreImageSelectionController.swift in Sources */,
24522482
F48E0D1D288882BD0080DDFA /* AuthenticatingWebView.swift in Sources */,
2483+
F4CD13442E05AD400067DC75 /* VerticalLabeledContentStyle.swift in Sources */,
24532484
F47BCDCF2C5C023E00165191 /* CatalogGroupView.swift in Sources */,
24542485
F413696529916F6E002CE8D3 /* StatusItemPanelContentController.swift in Sources */,
24552486
F4E7DFCF2BB3587D00C459FC /* VirtualMachineSessionUIManager.swift in Sources */,
2487+
F4CD13462E05B4DE0067DC75 /* VirtualizationSettingsView.swift in Sources */,
2488+
F4CD13202E05A5780067DC75 /* FileSystemPathFormControl.swift in Sources */,
24562489
F4561A6828981B4100055289 /* VirtualMachineNameInputView.swift in Sources */,
24572490
F413696229916F6E002CE8D3 /* StatusItemButton.swift in Sources */,
24582491
F49AA2C529BA31CC009625F7 /* VirtualMachineSessionUI.swift in Sources */,
@@ -2473,6 +2506,7 @@
24732506
F413696329916F6E002CE8D3 /* StatusBarPanelChrome.swift in Sources */,
24742507
F49AA2C729BA3F2B009625F7 /* VBRestorableWindow+Resizing.swift in Sources */,
24752508
F47BCDCD2C5C01EF00165191 /* RemoteImage.swift in Sources */,
2509+
F4CD133E2E05AB280067DC75 /* BackwardsCompatibility.swift in Sources */,
24762510
F4E7680A29B64C590075A897 /* GuestTypePicker.swift in Sources */,
24772511
F4B5C5DB28873628005AA632 /* GroupedList.swift in Sources */,
24782512
F4FC983B2BB386B500E511C9 /* MaskProgressView.swift in Sources */,
@@ -2481,6 +2515,8 @@
24812515
F49B832D2E046B8D00395F87 /* GuestAppConfigurationView.swift in Sources */,
24822516
F42C015C2888FC0C00EB15CD /* VirtualMachineSessionView.swift in Sources */,
24832517
F498AD182884C593006F1C00 /* NumericPropertyControl.swift in Sources */,
2518+
F4CD133C2E05A9DF0067DC75 /* OpenVirtualBuddySettingsAction.swift in Sources */,
2519+
F4CD13402E05AB8F0067DC75 /* GeneralSettingsView.swift in Sources */,
24842520
F413696729916F6E002CE8D3 /* VUIAppKitViewControllerHost.swift in Sources */,
24852521
F4450CCA2ACB0DB500092618 /* KeyboardDeviceConfigurationView.swift in Sources */,
24862522
F444D0FC2DF37EF80086537A /* VirtualBuddyMonoProgressView.swift in Sources */,
@@ -2497,7 +2533,6 @@
24972533
F413696829916F6E002CE8D3 /* StatusItemMenuBarExtraView.swift in Sources */,
24982534
F453C4B92DF21985007EAD5F /* VMInstallData.swift in Sources */,
24992535
F48E0D24288882E50080DDFA /* NSAlert+Confirmation.swift in Sources */,
2500-
F4510A7D2AE2B5C200E24DD9 /* DeepLinkAuthManagementUI.swift in Sources */,
25012536
F42258742885E10B009420AE /* VMConfigurationViewModel.swift in Sources */,
25022537
F48E0D1A288882BD0080DDFA /* InstallationWizardTitle.swift in Sources */,
25032538
F41725632886DD37004FF8A7 /* SharedFolderListItem.swift in Sources */,
@@ -2520,6 +2555,7 @@
25202555
F41369A329917FA0002CE8D3 /* ScreenChangeModifier.swift in Sources */,
25212556
F48E0D1F288882BD0080DDFA /* VMInstallationViewModel.swift in Sources */,
25222557
F4ECC6D52C63BFD5001DAC1D /* NumberDisplayMode.swift in Sources */,
2558+
F4CD13482E05B67E0067DC75 /* SettingsFooter.swift in Sources */,
25232559
F42258702885D537009420AE /* EphemeralTextField.swift in Sources */,
25242560
F49AA2C329BA22A5009625F7 /* VBRestorableWindow.swift in Sources */,
25252561
F422587A2885E17D009420AE /* ConfigurationSection.swift in Sources */,
@@ -2537,7 +2573,7 @@
25372573
F42258722885E100009420AE /* VMConfigurationSheet.swift in Sources */,
25382574
F4A7FB3F2BB5EBEF00E4C12A /* SavedStatePicker.swift in Sources */,
25392575
F413697929917135002CE8D3 /* CGFloat+OnePixel.swift in Sources */,
2540-
F42C015E2888FC0C00EB15CD /* PreferencesView.swift in Sources */,
2576+
F42C015E2888FC0C00EB15CD /* SettingsScreen.swift in Sources */,
25412577
F45502142DF394DC005582A4 /* VirtualBuddyInstallerInputView.swift in Sources */,
25422578
);
25432579
runOnlyForDeploymentPostprocessing = 0;

VirtualBuddy.xcodeproj/xcshareddata/xcschemes/VirtualBuddy (Managed).xcscheme

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@
131131
argument = "-VBSimulateGuestDiskImageGenerationError YES"
132132
isEnabled = "NO">
133133
</CommandLineArgument>
134+
<CommandLineArgument
135+
argument = "-VBOpenSettings YES"
136+
isEnabled = "NO">
137+
</CommandLineArgument>
134138
</CommandLineArguments>
135139
</LaunchAction>
136140
<ProfileAction

0 commit comments

Comments
 (0)