Remix.run Logo
hamandcheese 8 hours ago

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

restes 8 hours ago | parent | next [-]

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 7 hours ago | parent [-]

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

whynotmaybe 7 hours ago | parent | next [-]

The simulator doesn't have a camera. The android emulator allows to configure the camera and use a picture, it's very handy to test your qr/barcode reader without needing to use a physical device. Maybe this also allows to use an image as camera?

landr0id 3 hours ago | parent | prev | next [-]

It's useful for security research since you can do kernel debugging and inspection of the device not possible in the simulator.

As others pointed out it's also useful for e.g. click/spam farms which need a "real" iPhone.

gcampos 7 hours ago | parent | prev | next [-]

You cannot run Network Extensions on the simulator

a012 7 hours ago | parent | prev | next [-]

You can test your application, game, website without a physical phone?

leoh 7 hours ago | parent [-]

Can do that with the simulator too

cfn 2 hours ago | parent | next [-]

I have had instances where the app runs fine on the simulator but crashes on the device. This might solve that.

refulgentis 7 hours ago | parent | prev [-]

Running on ported userspace components, with a shim, isn't the same as running on the OS in itself.

That really matters, sometimes.

But not the vast majority of the time.

(source: been coding iOS since pre-SDK iPhone OS 1.0)

RussianCow 7 hours ago | parent | next [-]

Can you give some examples of where it matters? I'm genuinely curious.

bradfitz 6 hours ago | parent [-]

Last I checked, VPN network extensions wouldn't run in the simulator.

dingdongditchme 6 hours ago | parent | prev [-]

Is the simulator faster than this? I would suspect so.

VladVladikoff 7 hours ago | parent | prev | next [-]

Spam. Click farms. Etc.

trollbridge 7 hours ago | parent | next [-]

It would also make testing far easier. I got bit with something that failed on real life iPhones with language set to es_US that worked fine on the simulator.

trueno 5 hours ago | parent | prev [-]

oh. is this why icloud spam texts are running wild now

greggsy 5 hours ago | parent [-]

No, it’s just trivial to generate iCloud email addresses that won’t get picked up by spam filter.

leoh 7 hours ago | parent | prev [-]

If functional, you can download apps from the App Store, sign in to iCloud.. probably do a bunch of agentic stuff as if you had a real device

Sajarin 7 hours ago | parent [-]

Looks like apple services compatibility is not currently supported for this [0]

[0] https://github.com/Lakr233/vphone-cli/discussions/175

discordance 4 hours ago | parent | next [-]

If you read a bit further, there's a jailbroken variant that has Sileo and Trollstore installed, so you can run whatever IPAs

rvz 5 hours ago | parent | prev [-]

Exactly. It means it cannot download apps from the App Store or use Apple services and Apple knows this deliberate limitation.

dagmx 4 hours ago | parent | prev | next [-]

The simulator is a different SDK target than iOS itself.

You have to compile completely independently for it, and depending on your dependencies they may not compile for the simulator.

Additionally the simulator runs a really ancient and feature restricted version of Metal. That means you can’t test a lot of graphical things that the hardware actually supports. I’m not sure if this supports GPU passthrough but the macOS VMs do, so that alone would be a huge improvement if possible.

speedyapoc 6 hours ago | parent | prev | next [-]

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

zffr 5 hours ago | parent | prev | next [-]

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

ChrisMarshallNY 7 hours ago | parent | prev [-]

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 7 hours ago | parent [-]

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 7 hours ago | parent [-]

Ah. That makes sense.

I would think that "Mac apps," means that they are, actually, a different OS (I actually already knew that, which was why I said what I said. The Intel thing was a spitball).

But one of the few joys geeks get, these days, is telling other geeks they are wrong, so I feel as if I’ve done my bit to make this a happier place.