Virtualize macOS 12 and later on Apple Silicon, VirtualBuddy is a virtual machine GUI for macOS M1, M2, M3
BSD-2-CLAUSE License
VirtualBuddy can virtualize macOS 12 and later on Apple Silicon, with the goal of offering features that are useful to developers who need to test their apps on multiple versions of macOS, especially betas.
FB11061314
)VirtualBuddy is free and open-source. If you'd like to support its development, you may purchase it on Gumroad. If you'd just like to download the latest version, go to GitHub releases.
VirtualBuddy automatically mounts a disk image with the VirtualBuddyGuest app when you boot up a virtual machine running macOS. To install the VirtualBuddyGuest app, just select the "Guest" disk on Finder's side bar then double-click the "VirtualBuddyGuest" app icon.
VirtualBuddyGuest enables clipboard sharing between host and guest and automatic mounting of the shared folders configured for the virtual machine.
Sometimes when trying things out in the OS installed in one of the virtual machines, things might break, requiring a full install of the guest operating system again, which is a pain.
Thanks to APFS cloning though, you can just duplicate a virtual machine within your library folder (using Command + D in Finder), and the copy will take almost no additional disk space. This way you can have a "clean" copy of your VM, do whatever you want with a duplicate of it, and then throw the copy away and re-duplicate the clean version if things break.
You can share folders from your Mac to the Virtual Machine and vice-versa using regular macOS file sharing that can be configured in System Preferences/Settings.
When both the Virtual Machine and the host are running macOS 13 or later, it's possible to share folders directly by configuring them in the VM settings within VirtualBuddy before booting up the VM.
To mount shared folders in the VM, run the following command in the VM's Terminal:
mkdir -p ~/Desktop/VirtualBuddyShared && mount -t virtiofs VirtualBuddyShared ~/Desktop/VirtualBuddyShared
Xcode 16¹ is required for building on main
.
VirtualBuddy/Config/Signing.xcconfig
fileVB_BUNDLE_ID_PREFIX
variable to something unique like com.yourname.
VirtualBuddy
scheme (the one that doesn't have (Managed)
in its name)¹ If you'd like to build with a previous version of Xcode while Xcode 16 is still in beta, check out this tag.