30 comments

  • root9876 2 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 an hour 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...

    • rootnod3 an hour ago

      For Japan it might be the Felica chip.

  • hamandcheese 2 hours ago

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

    • restes an hour 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 an hour ago

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

        • whynotmaybe 15 minutes ago

          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?

        • gcampos 12 minutes ago

          You cannot run Network Extensions on the simulator

        • a012 an hour ago

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

          • leoh 41 minutes ago

            Can do that with the simulator too

            • refulgentis 34 minutes ago

              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 minutes ago

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

        • leoh 40 minutes ago

          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

        • VladVladikoff 39 minutes ago

          Spam. Click farms. Etc.

          • trollbridge 36 minutes ago

            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.

    • ChrisMarshallNY 21 minutes 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 15 minutes 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 10 minutes ago

          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).

          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.

  • TylerJaacks 2 hours ago

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

  • chews 2 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!

  • ironqcold 3 hours ago

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

  • boredatoms 3 hours ago

    Is this what apple does in xcode?

    • vlovich123 3 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 2 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 2 hours ago

        so can this receive web push notifications?

  • leoh an hour ago

    Will Apple break this?

  • orangea 3 hours ago

    what is "PCC"?

    • busymom0 3 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...