ONE Jailbreak Ad

Enable JIT on iOS 17 Using SideJITServer: Full Tutorial

Promotion image of How to enable JIT for iOS 18 article.

SideJITServer is the easiest way to enable JIT on iOS 18 for emulators and performance-heavy apps. This powerful tool works wirelessly through your local network, letting you activate Just-In-Time compilation from any Windows, Mac, or Linux computer. Developed by nythepegasus of the SideStore team, SideJITServer bypasses Apple's restrictions to boost app speed without jailbreaking your iPhone.

SideJITServer is a Python script designed to be executed within a Python environment on your desktop. As of its latest release, it mandates the following component versions: `pymobiledevice3>=4.2.3,<4.3.0`, `Flask==3.0.2`, and `zeroconf==0.132.2`. Attempting to use different versions of these components may result in errors when running SideJITServer. Therefore, it's crucial to adhere to these specified versions to ensure optimal functionality.

What is SideJITServer and Why Use It for iOS 17?

SideJITServer, developed by nythepegasus from SideStore, is a tool that enables Just-In-Time (JIT) compilation on iOS 17.0 – iOS 18.3 for all devices that support it. It works similarly to Jitterbug, which allows one iOS device to launch apps with a debugger on another iOS device with JIT enabled.

This tool runs from the command line (Terminal) and supports both Linux and Windows. Since it's written in Python, you can technically run it on any Linux distribution. It relies on the pymobiledevice3 library, so you'll need to have that installed.

SideJITServer isn’t just useful for emulators like DolphiniOS and Delta — it also works with virtualization apps like UTM for iOS. This means you can run full Linux or Android environments on your iPhone, much like VirtualBox.

What Does JIT Mean for iPhones?

JIT (Just-In-Time) compilation is a technology that helps apps run faster by translating code into machine language while the app is running. Instead of compiling everything in advance, JIT compiles only the necessary parts of the code as you use them. This makes apps, especially virtualization or emulators, and high-performance games run smoother and faster on your iPhone.

However, Apple restricts JIT for most third-party apps due to security concerns. By default, iOS only allows JIT in Safari for better web performance. For other apps, like emulators, you need special methods to enable JIT, such as using SideJITServer or sideloading with a developer certificate.

Part 1. Installing SideJITServer

Step 1. Create a virtual environment named "venv" using Python to use an isolated environment for the Python project.

python3 -m venv venv

Step 2. Install SideJITServer following the pip3 installation command for the package.

pip3 install SideJITServer

Step 3. Install pymobiledevice3, the python3 implementation of various tools for iDevices. It's recommended to use the latest version of pymobiledevice3 <4.3.0.

python3 -m pip install -U pymobiledevice3

Step 4. Execute the launch command to see if SideJITServer is installed on your Desktop. Additionaly open the http://127.0.0.1:8080 in your browser to view if the device is paired.

SideJITServer --help

Screenshot of SideJITServer running in the Safai browser.

Part 2. Prerequisites for Enabling JIT with SideJITServer

Step 1. Connect your iOS 17 device to your computer and execute the following command to pair it. Next, grab your iPhone and continue the next steps.

SideJITServer --pair

Screenshot of pairing an iPhone with SideJITServer.

Step 2. On your iPhone's Home Screen, a 'Trust This Computer?' popup will appear. Tap on trust and provide your PIN to allow connection between the PC and iDevice.

Screenshot of Trust This Computer prompt on iOS 17.

Step 3. Run SideJITServer to start the server on your computer. It may require a sudo command. In this case, enter your password when prompted.

SideJITServer

Screenshot of SideJITServer running on macOS.

Step 4. Add this Shortcut required to detect and run apps in JIT mode.

Step 5. Tap on 'Set Up Shortcut' from your device's screen.

Screenshot of SideJIT shortcut configuration.

Step 6. Provide your device's UDID. It can be easily discovered by entering this IP http://127.0.0.1:8080 in your browser. Example UDID "00022010-001A5BC60CS9012X".

Screenshot of SideJI UDID configuration.

Step 7. Next, enter your server address. It will be displayed in the terminal app running SideJITServer. It's important to provide the full URL address including http and port.

http://192.168.0.241:8080

Screenshot of SideJI server IP configuration.

Part 3. Step-by-Step Guide to Enable JIT on iOS 17/18

Step 1. Be sure that SideJITServer is running on your Desktop. If it's installed correctly, you will see the paired device UDID in your browser. Open the Shortcuts app from your iOS 17 Home Screen and tap on the SideJIT previously added shortcut.

Screenshot of Shortcuts app on Home Screen.

Step 2. Allow SideJIT to connect to "192.168.0.241".

Connect to SideJITServer screenshot.

Step 3. SideJIT will display a list of all installed apps on iOS 18 with support for JIT. Select the one you like to open in JIT mode.

Enable JIT mode for supported app running iOS 17.

Step 4. The application should open in JIT-enabled mode on iOS 18.

Screenshot of SideJIT enabled JIT for 'Flycast' prompt.

FAQ

+

Yes! SideJITServer is compatible with iOS 17 and iOS 18.3. To enable JIT on newer iOS versions, ensure you download the latest SideJITServer shortcut from its official GitHub repository.

+

If the SideJITServer shortcut fails, check your internet connection, verify that Untrusted Shortcuts is enabled in Settings, and reinstall the shortcut from a trusted source.

+

SideJITServer is open-source and safe when downloaded from its official GitHub page. Avoid third-party links to prevent security risks.

Author Photo
Written by

Kuba has over 20 years of experience in journalism, focusing on jailbreak since 2012. He has interviewed professionals from various companies. Besides journalism, Kuba specializes in video editing and drone flying. He studied IT at university before his writing career.

Comments

  • Amy

    Amy 8 months ago

    Hello I’ve been following this tutorial but keep running into a problem when I try to run the server with ‘sudo SideJITServer’. I get the ERROR 48, error while attempting to bind on address, address already in use
    On the bottom it also says Pymobiledevice3.exceptions.DeveloperModeIsNotEnabledError ()

    I already have developer mode turned on for my Mac computer. Please help I don’t know how to fix it.

    • qbap

      qbap 8 months ago

      Use Activity Monitor to shut down the previous Python process to fix the address already in use or restart the Mac. Update the scripts. New versions of SideJITServer and pymobiledevice3 are released almost daily. Use pymobiledevice3 to enable/disable developer mode or query its state on your iPhone. Find what process is using the port 49151 and kill it. Repeat all steps from the article.

Post a comment

Latest Posts

Mods for Minecraft Education Edition

How to Install and Utilise Mods in Minecraft Education Edition

Minecraft Education Edition blends creativity, problem-solving, and interactive instruction, making it a powerful educational tool. While the base game includes many educational features, modifications can expand its potential by introducing tools for teaching...

How to Automatically Colorize Black-and-White Photos

How to Automatically Colorize Black-and-White Photos: 3 Easy Ways

Need to colorize old black-and-white photos? No worries–you don’t have to be a seasoned Photoshop user to get it done. There are much more accessible and easier ways to bring grayscale pictures to color. You’ll discover 3 handy tools in this article...

GBox Certificate Download to install Apps on iOS

GBox Certificate Download: Sign and install IPA files on iOS

Installing a certificate for the GBox iOS IPA Installer lets you sign apps directly on your iPhone. Finding a free GBox certificate can be tricky, but this article will...