Emulating an iPhone in QEMU

2 months ago (eshard.com)

I wish the https://github.com/devos50/qemu-ios project would evolve to support iPhone OS 3.x to experience many early iPhone apps for digital preservation's sake!

https://github.com/touchHLE/touchHLE is also great but needs patches for all but the most basic of apps.

Here's a fun way that this project could be applied: Take a phone that has pretty good hardware support for postmarketOS. Install a bare bones pmOS image, plus this version of QEMU, and boot iOS on and Android phone. It probably would be possible to further customize QEMU to forward all the phone hardware (modem, Bluetooth, etc.) into the iOS VM.

  • Very amusing idea, but:

    > Take a phone that has pretty good hardware support for postmarketOS

    The first problem with this is finding a phone with postmarketOS that can both use the camera and take phone calls properly. I'd settle for that without the iOS/Android emulation...

  • If it’s just for fun, sure. However in practice this would be incredibly inefficient and not a usable device by any means, plus it would be a tremendous amount of work.

Does this mean I can finally do things like testing in safari and compiling to iOS on a Linux system, without owning Apple hardware?

No mention of network connectivity - I suppose they aren't emulating the wifi or celluar modem chipsets? Wondering how they might connect this emulated device to the Internet, perhaps ethernet over USB or something like that?

What would it take for Apple to embrace multiplatform iOS development?

  • Apple will never consider doing that. Their actions speak to the exact opposite: total control of their devices and ecosystem, non-cooperation with other companies on standards, stringent app store controls. They gain nothing, in their eyes, to allow that development model.

    • Even if they did it would take a tour de force to make reality. The whole iOS development stack very heavily depends on macOS — Xcode is written in Objective-C/Swift + AppKit for example and the iOS Simulator just runs the iOS userland in a phone frame and lets macOS furnish the Darwin half.

      Practically speaking, they’d at minimum have to beef up the internal Yellow Box descendant they’d been previously using to make Safari and iTunes run on Windows (essentially porting large chunks of macOS to Windows) to be able to support Xcode, or following the direction of their more recent iCloud, Music, and TV apps write a WinUI-based version of Xcode for Windows paired with an all new iOS Emulator from scratch.

      It’d be a huge investment with returns that are unclear at best.

      3 replies →

    • Which is sad because a lot more people might consider buying their products if one was able to try the products with non-ecosystem devices.

      Their devices are well designed and generally last for a long time. They also retain their value in case you want to resell them.

      Instead, I’m constantly weighing the lock-in from their walled garden - should I go all in or should remain in control over my devices.

      5 replies →

  • Apple uses its software to sell its hardware. That's why iMessage for Android never happened. Apple would need to see the world differently for this to happen. It'd be about as big as when as when Microsoft halfway embraced Linux with WSL and .NET for Linux.

  • Apple is a hardware company. Why would they want to support anything on hardware they don’t sell?