hackiosx: iOS on Android phones

3 min read Original article ↗

A growing set of open-source projects now boot Apple's real iOS and iPadOS on Android phones and tablets. They build Apple's own kernel (XNU) from its public source, write new drivers for the device's hardware, and run the system files from Apple's own firmware on top. On the device nothing is emulated: there is no launcher theme and no Android running underneath.

These are research projects, not daily drivers. There are no calls, no Apple ID and no App Store downloads, and iOS's security features are switched off or stubbed. Try it on a spare phone, back it up first, and don't put personal data on it.

The projects

HackiOS

POCO X5 Pro 5G (Snapdragon 778G), iOS 16.5. GPU-drawn interface, Wi-Fi, sound and the camera work. Runs from RAM, so Android stays on the phone. Also runs in QEMU on a PC.

Details

ios-sweet

Redmi Note 10 Pro (Snapdragon 732G), iOS 16.7.16. Boots to the home screen with touch, buttons and all 8 cores. The CPU draws everything. Installs into the user data partition.

Details

UniXNU

Xiaomi Pad 6S Pro (Snapdragon 8 Gen 2), iPadOS 17. Boots through UEFI, with Metal running on the Adreno GPU. Home screen, Settings and touch work.

Details

Community ports

The first Google Pixel, Pixel 4, Pixel 6a, Redmi Note 12, POCO M8, LG V60 and even a Galaxy S7 with an Exynos chip. Most are built on ios-sweet, and several already draw on the GPU and have Wi-Fi.

Details

No phone? Try it on your PC

HackiOS also runs in QEMU on a Linux PC. Their README has the steps: it downloads the iOS 16.5 firmware from Apple, builds the system image on your machine, and opens iOS in a window, with the mouse acting as your finger. See the HackiOS quick start.

How it works

How a phone's bootloader ends up starting Apple's kernel, where the drivers come from, and how iOS is convinced it runs on an iPhone X.

Read

Will it work on my phone?

Compatibility by chip family instead of a list of every model. Short version: Snapdragon has a good chance, MediaTek mostly doesn't.

Check

Port it to your phone

What has to happen for iOS to run on your phone, step by step, from the first boot to touch and beyond, and what usually goes wrong.

Start

Open problems

What no project has solved yet, and where help is most useful: complete Metal, Bluetooth, calls, and more devices.

See

Questions, ports and progress reports go to r/hackios.