Boot a Virtual iPhone via Apple's Virtualization.framework (github.com)

171 points by hentrep 6 hours ago

pranav_tech26 11 minutes ago

Finally, local iOS virtualization without third-party hacks. Huge win for CI pipelines, though macOS host dependencies still limit scale.

root9876 4 hours ago

> during iOS setup, don't pick Japan or the EU as your region (extra regulatory checks the VM can't satisfy)

I'm curious what are these checks

benoau 3 hours ago

It will be to prevent access to third-party app stores as both the EU and Japan legislated they must be allowed.

> In a support document about alternative app marketplaces in the EU, Apple explained that “device eligibility for alternative app marketplaces is determined using on-device processing with only an indicator of eligibility sent to Apple.” In practice, iOS users in the EU who want to install alternative marketplaces will need to set the country or region of their Apple ID to an eligible country or region. Moreover, they will also need to be physically located in supported EU countries.

> In the case iOS users in the EU leave eligible regions, Apple will offer a “grace period” until apps downloaded from alternative app stores can no longer be updated. “If you’re gone for too long, you’ll lose access to some features, including installing new alternative app marketplaces. Apps you installed from alternative app marketplaces will continue to function, but they can’t be updated by the marketplace you downloaded it from,” the company explained.

https://www.thurrott.com/apple/298862/apple-adds-some-condit...

dingdongditchme 2 hours ago

Wait so a third party app-store is allowed in the EU? I was not aware these even existed...

xkgt an hour ago

aaronbrethorst 2 hours ago

astafrig 2 hours ago

In addition to the third-party installation capability mentioned by siblings, Japan also has a regional capability for reassigning the side button to a third-party voice assistant (`com.apple.developer.side-button-access.allow`).

rootnod3 4 hours ago

For Japan it might be the Felica chip.

koito17 an hour ago

That would surprise me. I don't recall having to change my iPhone's region after moving to Japan. Transport IC cards in Apple Pay have "just worked".

I am vaguely aware that some phone manufacturers silently remove certain NFC hardware (or disable some driver) in order to avoid paying Sony patent fees. Apple doesn't seem to do that, though.

hamandcheese 4 hours ago

This seams neat, but I'm not sure I understand the purpose/difference between this and using the iOS simulator.

restes 4 hours ago

The iOS Simulator consists of (some of) the userspace components of iOS compiled to run on macOS. This would be a full iPhone image running as-is via virtualization.

RussianCow 3 hours ago

That explains the difference, but what's the purpose?

whynotmaybe 3 hours ago

gcampos 3 hours ago

a012 3 hours ago

VladVladikoff 3 hours ago

leoh 3 hours ago

zffr 14 minutes ago

Here are some reasons to use this instead of the simulator: security research, testing, automation

speedyapoc 2 hours ago

Looks like this tool can provide a jailbroken environment for the latest iOS versions whereas one does not exist on iOS simulator or a real device

ChrisMarshallNY 3 hours ago

The simulator is a completely different OS. It may even still be using Intel.

I always figured that Apple never set up a true emulator (like what Android does), because they didn't want people exploring their OS with a debugger.

kridsdale1 3 hours ago

Incorrect. The iOS simulator is and always has been, simply iOS frameworks running fully natively on macOS. It’s best to think of it as an alternative window managers but the apps are native Mac processes. They can be seen and debugged via the terminal using top and ps and lldb alongside all other processes. They just present gui via the Simulator Mac app container.

They do not live in a VM and are certainly not emulated at an instruction set level. They are Mac apps.

ChrisMarshallNY 3 hours ago

senor_digimon 20 minutes ago

Can this be used for account recovery?

catlifeonmars an hour ago

Does this include a virtual baseband?

dvduval 2 hours ago

Will there ever be a day where I could run this on a PC or something like it?

greggsy 14 minutes ago

Probably not, but you can run it on a Mac today.

boredatoms 5 hours ago

Is this what apple does in xcode?

vlovich123 5 hours ago

If you’re talking about the simulator, no. That doesn’t virtualize - it literally just runs it locally on your machine. Less RAM overhead and CPU since it uses your normal instruction set and doesn’t run a separate kernel and userspace.

valleyer 5 hours ago

At least historically, it actually did run its own entire userspace, including daemons (all the way to launchd, IIRC), etc. All compiled for Intel, back in the day. Shared the kernel though.

Many of the nominally shared system pieces between Mac and iPhone (like Foundation) actually had many subtle compile-time differences.

theflyestpilot 4 hours ago

so can this receive web push notifications?

TylerJaacks 5 hours ago

This project is really cool its a shame you have to disable or partial disable SIP which can break some things.

fishfasell 2 hours ago

Yeah real shame that I know I could never run this on a corporate machine and only ever as a hobbyist.

sneak 32 minutes ago

Have corporate buy you a research Air that isn’t on the MDM.

userbinator an hour ago

That means you're working for the wrong companies ;-)

ironqcold 5 hours ago

Interesting project. If it actually works it opens up a ton of possibilities for testing and reverse engineering.

chews 4 hours ago

What a release! Congrats to the builder, lots of great work done here and in IOS profiling in general has been done here recently. Corellium went research only and I lost the ability to actually profile my applications the way I'd like. I've got a fun thing over coffee in the morning!

krackers 4 hours ago

Feels weird that after their attempts to shut down corellium they themselves shipped the necessary bits to allow this

https://github.com/wh1te4ever/super-tart-vphone-writeup

sumedh 2 hours ago

Will this project make it easier to performance test Apps on the virtual iPhone?

orangea 5 hours ago

what is "PCC"?

busymom0 5 hours ago

Private cloud compute I think. I learnt about it today too from this reddit post which mentions how:

> At WWDC, Apple announced that starting in the 27.x versions of iOS, macOS, etc., devs would be able to call Private Cloud Compute directly from Swift with no additional API configuration. Presently, the only way to get free cloud inference is by joining the App Store Small Business Program.

https://www.reddit.com/r/appledevelopers/comments/1vztibh/re...

leoh 3 hours ago

Will Apple break this?

rvz an hour ago

They will find a way to break it.