vm(apple): support running from saved bookmark
This commit is contained in:
parent
2224ffadba
commit
753564cd3a
|
@ -87,6 +87,10 @@ import Virtualization
|
||||||
weak var screenshotDelegate: UTMScreenshotProvider?
|
weak var screenshotDelegate: UTMScreenshotProvider?
|
||||||
|
|
||||||
override static func isAppleVM(forPath path: URL) -> Bool {
|
override static func isAppleVM(forPath path: URL) -> Bool {
|
||||||
|
_ = path.startAccessingSecurityScopedResource()
|
||||||
|
defer {
|
||||||
|
path.stopAccessingSecurityScopedResource()
|
||||||
|
}
|
||||||
do {
|
do {
|
||||||
_ = try UTMAppleConfiguration.load(from: path)
|
_ = try UTMAppleConfiguration.load(from: path)
|
||||||
return true
|
return true
|
||||||
|
@ -136,7 +140,7 @@ import Virtualization
|
||||||
}
|
}
|
||||||
|
|
||||||
override func accessShortcut() async throws {
|
override func accessShortcut() async throws {
|
||||||
// FIXME: Apple VM doesn't support saving bookmarks
|
// not needed for Apple VMs
|
||||||
}
|
}
|
||||||
|
|
||||||
private func _vmStart() async throws {
|
private func _vmStart() async throws {
|
||||||
|
|
|
@ -180,16 +180,7 @@ class UTMData: ObservableObject {
|
||||||
wrappedVM = UTMWrappedVirtualMachine(from: dict)
|
wrappedVM = UTMWrappedVirtualMachine(from: dict)
|
||||||
}
|
}
|
||||||
if let vm = wrappedVM?.unwrap() {
|
if let vm = wrappedVM?.unwrap() {
|
||||||
#if os(macOS)
|
|
||||||
// FIXME: we do not support Apple VM shortcuts because we cannot access the drives
|
|
||||||
if let appleVM = vm as? UTMAppleVirtualMachine, appleVM.isShortcut {
|
|
||||||
return nil
|
|
||||||
} else {
|
|
||||||
return vm
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
return vm
|
return vm
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
return wrappedVM
|
return wrappedVM
|
||||||
}
|
}
|
||||||
|
@ -510,11 +501,6 @@ class UTMData: ObservableObject {
|
||||||
if oldSelected == vm {
|
if oldSelected == vm {
|
||||||
await listSelect(vm: newVM)
|
await listSelect(vm: newVM)
|
||||||
}
|
}
|
||||||
#if os(macOS)
|
|
||||||
if let _ = newVM as? UTMAppleVirtualMachine {
|
|
||||||
throw NSLocalizedString("Shortcuts to Apple virtual machines cannot be stored. You must open the .utm bundle from Finder each time UTM is launched.", comment: "UTMData")
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Open settings modal
|
/// Open settings modal
|
||||||
|
|
Loading…
Reference in New Issue