Leviidev/Henge
Productivity & UtilitiesEmulate full macOS on jailbroken or JIT-enabled iPhones and iPads.
What it does
Henge runs macOS on iOS and iPadOS devices. iOS does not grant apps a hypervisor, so the project implements its own arm64 JIT, memory management unit and virtual devices rather than relying on QEMU or Virtualization.framework. It downloads Apple's restore image and restores it on-device, the way a Mac would, without decrypting or patching the image.
The app presents macOS through a virtual GPU whose commands are replayed with Metal. The touchscreen works as a trackpad, and on iPad a Magic Keyboard or Bluetooth keyboard and mouse control the Mac directly. Copy/paste is shared between macOS and the device, and a shared folder appears in Files and in the Mac's home directory. On iPad the virtual Mac's screen takes the iPad's shape.
It is aimed at users who want a desktop-class macOS environment on an iPhone or iPad and are comfortable sideloading apps and setting up JIT.
Install and start macOS
- Download
Henge.ipaorHenge.tipafrom Releases and check the install notes. - Sideload
Henge.ipawith SideStore or AltStore, or installHenge.tipawith TrollStore or TrollStore Lite. - Make sure JIT is available through StikDebug, TrollStore, a jailbreak, or Henge's built-in StikJIT helper on iOS 26 or later.
- Open the installer tab, choose macOS Sequoia 15.6.1, and keep Henge open with the device plugged in. Tahoe 26.6.2 and macOS 27.2 are listed but untested.
- Wait while macOS installs and starts; the first launch takes several minutes of background startup.
To use the shared folder, open Terminal on the Mac, tap Type the Set Up Command in Henge's Details screen, press Return, and allow henge-agent and local-network access when prompted. Each Mac only needs this once, and its keyboard layout must be U.S.
Requirements and limits
- iOS or iPadOS 17+ on an A14 or M1 chip or newer.
- Roughly 43 GB free for macOS Sequoia: 17 GB for the download and 26 GB for the Mac.
- A Mac gets 4, 6 or 8 GB of memory; the increased memory limit entitlement is needed for the larger sizes.
- JIT entitlement is mandatory; without it the app cannot run the guest.
- Signing in to an Apple Account inside macOS currently fails.
- Graphics are tested with macOS apps, Chrome, Firefox, VS Code and Discord; other apps may render incorrectly.
- Only one Mac can start per app launch; restart Henge to boot another or to restart the same Mac after a shutdown.
- iPadOS reserves some shortcuts such as Command-Tab.
- iPad support is new and has not been tested on a real iPad; the only tested device is an iPhone 17 Pro.
- Emulation is slower than a real Mac.
Build from source
Building requires a Mac with Xcode and xcodegen, plus a built Husk checkout at ~/Documents/Coding/Husk (or set HUSK to another path). From the repository run:
ios/scripts/fetch_deps.sh
tools/build_ios_restore.sh
make ios-lib
ios/scripts/package_ipa.sh
This writes ~/Desktop/Henge.ipa; add --trollstore to also produce Henge.tipa. make builds the Mac engine at build/hengevm, and make test runs its tests.
The project is GPL-2.0-or-later and combines GPL code from usbmuxd and Husk, so the App Store is not an option. Details are in docs/licensing.md. macOS and the boot ROM are downloaded from Apple at install time and are not part of the project.
HotRepo's take
Henge entered the HotRepo new-project list on 2026-11-06, adding 40 stars in the measured window and reaching 149 stars and 12 forks; no GitHub daily rank was recorded. The README is specific about the technical approach and about its own testing gaps, but the project is still early: iPad support is unverified on real hardware and the only tested device is an iPhone 17 Pro. Readers should weigh the large storage requirement and the dependence on JIT and sideloading helpers before trying it.
Written by AI from the project's README, updated . The project's own docs are the source of truth.