iOS部份模拟器APP需要JIT加速技术才能获得最佳效能,例如UTM、PojavLauncher,然Apple不允许搭载JIT的APP上架App Store,故他们只能以侧载方式启动JIT,而且启用条件很麻烦。 比如iOS 17以上版本, AltJIT得依赖Mac电脑才能启动JIT,且启用JIT的时候不能断开USB连线。
后来我找到了SideJITServer,此为nythepegasus制作的开源JIT启动器。 这个软件比AltJIT的启用方式容易的多,不再限定只有Mac才能使用,让Linux和Windows的用户也能受惠。
1. 注意事项#
- SideJITServer支持Linux、Windows、macOS、Raspberry Pi OS
- 仅支持iOS 17、iOS 18以上的iPhone/iPad
- 要启用JIT的APP必须是侧载的IPA,App Store的APP无法使用JIT。
2. 安装SideJITServer套件#
- 确认电脑认得到 iOS 设备。 Linux安装 libimobiledevice套件; Windows安装 iTunes。
- 安装 Python3
- 开启终端机,建立Python虚拟环境
python3 -m venv venv
- 进入虚拟环境
# Linux/macOS
source venv/bin/activate
# Windows
venvScriptsActivate.ps1
- 安装SideJITServer
pip3 install SideJITServer
- 启动服务器。
SideJITServer --pair
注:Linux可能需要使用root执行,否则会找不到装置。 并且要开放防火墙8080端口。
deactivate
sudo ufw allow 8080
sudo ufw reload
sudo -E env PATH=${PATH} venv/bin/SideJITServer --pair
- 将 iOS 设备插上电脑,在屏幕上点击同意「信任此计算机」
- 服务器启动的时候应该会看到,那就是你设备的UDID,按下Enter
Client ID
- 服务器执行的时候不要拔掉传输线。
如果程序执行出错,请参考 SideJITServer的requirements.txt,尝试切换pymobiledevice3套件版本,再手动与 iOS 装置配对。 以下是Linux的作法:
source venv/bin/activate
pip uninstall pymobiledevice3
pip install pymobiledevice3==4.11.20
deactivate
sudo systemctl restart usbmuxd
sudo idevicepair pair
sudo -E env PATH=${PATH} venv/bin/SideJITServer --pair
3. 给APP启用JIT加速#
- 用 iOS 的 Safari 开启这个网址: 新增SideJIT捷径
- 填入iOS设备的UDID
- 还有服务器地址,格式为
http://電腦區域IP:8080
- 如果上述字段打错,你可以点编辑捷径,重新修改。
- 执行SideJIT捷径,电脑上的SideJITServer应该会印出HTTP连线消息。
- 选取要启用JIT的APP
- 出现消息,JIT启用成功。
- JIT仅在APP开启的时候有效,滑掉重开后JIT就会消失,需要通过电脑重新启用。