I wasn't sure this would be possible, but after almost a month of work, I've been able to convince Virtualization.framework to run an iOS 16 VM on my Mac. Now I just have to figure out how to press the Home button 😅

Instead of figuring out how to press the Home button, I decided to just remove it instead. I then learned how to touch the screen đŸ‘†đŸ». Now I have to figure out why PosterBoard keeps crashing (that's why there's no wallpaper).

PS: That lag during swipes is only in the screen recording, it's actually buttery smooth.

In case you’re wondering, my Mac sees the virtual iPhone as a regular USB device, which means that I can build, run, and debug apps from Xcode just fine.
@_inside what kernel is this running?

@_inside đŸ€Ż

Does BLE work? (Not available in the iOS simulator)

@rob unfortunately not, and I wasn’t expecting it to since it doesn’t work in virtualized macOS either

@_inside Ah, yes.

(wasn't expecting it either, but would be awesome if it did)

@_inside this is crazy đŸ€Ż

@_inside Could this add any functionalities missing from the simulator? Perhaps this could use and expose to the apps some cameras?

(Amazing work anyway, congratulations!)

@_inside Awesome. That would open the door for development, testing and CI integration of stuff that doesn’t work in the simulator, like certain Vision ML models đŸ€Ż or maybe even external accessory simulation for BTLE?
@_inside Oh wow! This is so wild. The SUPER SIMULATOR.
@_inside RIP Corellium if you ever decide to release this publicly
 Amazing work!
@_inside holy cow, this is bonkers! I’ll bet watchOS developers would appreciate something similar!
@_inside is this only possible with iOS 16 or could this virtualize older iOS also? Could be amazing for testing various OS versions.
@_inside whoa, that is amazing! Cannot wait to learn more.
@_inside I seriously hope Apple doesn’t “fix” this.
@_inside doing the lords work 👏🙌
@_inside Amazing. Are you gonna open-source this?
@_inside This can’t run on a Mac. PosterBoard is run on a separate process using the Wallpaper Engine coprocessor that’s only inside iOS devices. It was the only way Apple could do those floating bubbles Live Wallpapers without slowing down the entire system.
@_inside FWIW home button should simply be a GPIO pin, and I think DeviceTree has a node called "buttons" that gives you its ID?

@_inside đŸ˜Č - meanwhile, we’re all resolving bugs about misaligned labels 😂

What are you planning to do with this?

@_inside nice work! Which kernel are you booting?
@_inside you might check PBFRuntimeAssertionManager? That’s the only class that stands out to me as potentially being problematic
@_inside or maybe it’s trying to display a wallpaper that isn’t there? PBFWallpaperKitBridge perhaps
@_inside you’re nuts in all the right ways, Gui đŸ˜‚đŸ€©
@_inside whoa! Incredible result!
@_inside Whoa! This is extremely impressive!
@_inside wait that’s running an ipsw iPhone fw?
@_inside If you can pass keyboard input, CMD+H?
@_inside what in the world? Wizardry!
@_inside Definitely write feedback for it. Have you gotten the shared clipboard to work?
@_inside damn that’s amazing ! Out of curiosity, do you think similar work could be done to run macOS 11.0 using the same framework ? I currently use QEMU Intel emulation to test my macOS apps on it. Wasn’t able to find or build any tool to run the ARM version of it yet
@_inside hmm, is that framework on iOS? Even if it required a jailbreak running a MacOS VM on an iPad would be interesting.
@_inside you are a god walking amongst mortals
@_inside are Apple services working? appstore/icloud/etc