• WolfLink@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 months ago

    iOS natively supports JIT (by which we mean writable and executable memory) but Apple locks it down to only two use cases:

    1. The JavaScript engine in Safari
    2. Support for running a debugger

    AltStore launches a debugger and connects it to your phone. Even though it’s not actually doing anything with a debugger, that’s enough to convince iOS to let your app use memory that’s both writable and executable (the key feature needed for JIT).

    Without JIT you need to either resort to a slower form of emulation or do something creative.