How To Enable JIT on iPhone and iPad with SideJITServer
So, apparently, turning on Just-In-Time (JIT) on your iOS device—without jailbreaking—is doable, but not exactly straightforward. If you’ve messed around with emulators like DolphiniOS or PPSSPP and noticed they’re lagging or crashing, chances are JIT isn’t enabled. Kind of weird, but Apple’s security restrictions make it tricky to do it officially. That’s where SideJITServer comes in. It’s a fun workaround that lets you enable JIT by running a server on your PC/Mac and connecting your device. No jailbreak needed, just some tedious setup.
Prerequisites
Before diving in, you’ll need a handful of tools—and maybe some patience:
- Python: Grab it from Python.org. On Windows, just ensure you check Add Python to PATH during installation—otherwise, commands won’t work later.
- Microsoft Visual C++ Build Tools: Needed for compiling some scripts. Get it from Microsoft Visual C++ Build Tools. Just install with the default options, especially Desktop Development with C++.
- iTunes: Download from Apple’s site. Do *not* grab it from the Microsoft Store, it’s usually older and can break device communication.
- SideJITServer: Find the repo at GitHub. You’ll be running some Python commands later.
- Get your UDID: Head over to get.udid.io on your iPhone’s Safari. This is kind of crucial—without it, your device won’t connect properly later.
- Developer Mode: Make sure Developer Mode is toggled on in your iPhone’s Settings under Privacy & Security. If it’s not, your device won’t trust the server or accept provisioning profiles.
Step 1: Enable Developer Mode on Your iPhone
This part is kinda essential. Apple added Developer Mode in iOS 16.4+ so you can test your own apps. To toggle it:
- Open Settings.
- Navigate to Privacy & Security.
- Scroll and find Developer Mode. Tap it, then turn it on.
- Yep, your device might ask you to restart. Do that, and it’s good to go.
On some setups, this step trips out or won’t stick immediately. Just restart your device if it seems buggy.
Step 2: Install the SideStore App
To sideload the SideStore app (which isn’t on the App Store), you can use tools like AltStore, Sideloadly, or TrollStore. It’s kinda necessary because Apple’s not gonna let you install apps that aren’t signed normally. Once installed, SideStore acts like a private app store for sideloaded apps—including the boundary-pushing ones you’ll want to run with JIT.
Step 3: Prepare Your Computer for SideJITServer
Here’s where it gets maybe a little confusing. You gotta set up Python and some other tools:
- Download the latest Python from Python.org. Make sure to check the box Add Python to PATH during install—I’ve forgotten that more times than I’d like.
- Open your Command Prompt as admin (right-click > Run as administrator), then run:
pip3 install SideJITServer
pip install ipsw-parser==1.3.4
Basically, this pulls in the server tool and some helper scripts. On one setup it worked the first time, on another, it throws a fit unless you update pip or run Command Prompt as admin. Not sure why it works sometimes and not others, but yeah… that’s typical Windows.
Step 4: Install Visual C++ Build Tools
For some of these scripts to compile properly, you need these. Get them from Microsoft. Just run the installer, choose Desktop Development with C++, and hit install. It takes a bit, around 20 minutes, so maybe brew some coffee.
Step 5: Install iTunes
iTunes is non-negotiable for device communication. Get it from Apple’s official download. No, the Microsoft Store version doesn’t usually work well with device pairing and trust. Install, trust your device when prompted, and keep it handy.
Step 6: Get SideJITServer Running
This is where it might trip you up if you’re not familiar with command-line stuff:
- Open Command Prompt as Administrator.
- Run these commands:
- If pip or Python aren’t recognized, you might need to restart your PC or add Python to your PATH manually.
pip3 install SideJITServer
pip install ipsw-parser==1.3.4
Step 7: Pair Your iPhone with Your Computer
Hook up via USB, unlock your iPhone, and trust the computer if prompted. Then, in the Command Prompt, run:
SideJITServer --pair
It might ask for some confirmations or fail silently. On some machines this fails the first time, then works after a reboot or toggling Developer Mode again. If you get errors, check your cable, trust settings, and ensure iTunes can see your device properly (open iTunes, make sure your device appears).
Step 8: Launch the SideJITServer
Once paired, just run:
SideJITServer
This starts the server. It’ll output an IP address and port—make a note of it. You’ll need that info for the shortcut later. Sometimes, the server crashes or refuses to start if your firewall blocks it. You might need to allow Python or Command Prompt through your firewall settings.
Step 9: Set Up Your Shortcut on iPhone
Next, grab the device UDID from get.udid.io. It’s necessary to register your device in the JIT setup. Install the profile it gives you (via Settings), then copy your UDID if needed. Go to the SideJITServer GitHub page and tap the install shortcut link (it’s a URL). When prompted, enter your device UDID and the server IP/port info from earlier.
Step 10: Launch Your Apps with JIT Enabled
Open the Shortcuts app, tap the SideJIT shortcut, and you should see your sideloaded apps listed. Pick PojavLauncher or whatever, and it should launch with JIT enabled. Not all apps work perfectly, but on most emulators, you’ll see performance boosts because of the JIT now being active.
Extra Tips & Common Issues
Some gotchas worth mentioning:
- Make sure your iPhone stays connected to the same Wi-Fi network as your PC. Otherwise, the server connection breaks.
- Keep the Command Prompt window open as long as you want JIT to work. Closing it kills the server.
- Assigning a static IP to your device helps avoid connection hiccups if your DHCP changes IPs often.
- Firewall or antivirus might block the server—allow Python or the port through.