JIT (just-in-time compilation) lets apps generate and run native code at runtime. Many emulators and some developer tools need JIT for acceptable performance. On iOS, JIT is restricted; Apple only allows it in certain contexts (for example while debugging or when a supported workflow grants a JIT entitlement).
JIT and sideloading
If you install an emulator or tool with iLoader and SideStore, whether JIT works depends on the specific app, your iOS version, and the mechanism the app uses (for example SideStore’s JIT URL scheme or a helper app). Always read the app’s own documentation for the exact taps and requirements.
Typical workflow (high level)
- Install the emulator or host app with SideStore (bootstrap with iLoader if needed).
- Keep apps refreshed so signing does not expire: Refresh SideStore Apps.
- Use the app’s documented method to request JIT (often from SideStore’s context menu or a “Enable JIT” deep link).
- If the app recommends a pairing file or VPN-style refresh setup, follow Pairing Files with SideStore.
StikDebug and similar helpers
Some users run helper tools such as StikDebug to unlock JIT-style behavior on supported iOS builds. iLoader lists an IPA download page for StikDebug here: StikDebug IPA download. Verify OS support and instructions on that page before installing.
LiveContainer
LiveContainer can run some IPAs in a container with different constraints than a full install. It is popular alongside SideStore; check the LiveContainer docs for JIT-related notes.
When JIT is not available
- Very new iOS versions sometimes change behavior—watch for app updates.
- Without the right entitlements or helper flow, an emulator may fall back to slower interpreters.
- This guide is not a guarantee that every emulator will achieve full-speed JIT on every device.