技术参考
iOS JIT 是什么?iPhone 用 StikDebug 开 JIT 玩 Switch 模拟器教程(iOS 17 / 18 / 26,2026 年 10 月)
要点
- JIT(即时编译)是在运行时把 Switch 游戏的 ARM 代码翻译成本机代码再执行;iOS 只在调试器附加到侧载 App 时才允许,所以 MeloNX 必须靠 StikDebug 这类工具。
- 截至 2026 年 10 月,StikDebug 在 iOS 17.4–18.x 上完全支持;iOS 26 以上也支持,但只有开发者适配过的 App 能用,MeloNX 已适配。
- iOS 26 的 TXM 让 A15 及更新的 iPhone、M2 及更新的 iPad 必须用脚本(推荐 universal.js)开 JIT;A12–A14 和 M1 设备附加调试器即可。
- 第一次配对需要电脑生成配对文件(StikDebug 3.2.0 起可以在手机上生成),之后开 JIT 不再需要电脑,但要开着 LocalDevVPN。
- 欧盟的 AltStore PAL 不能让带 JIT 的 App 通过审核;「欧盟自动开 JIT」的说法没有可靠来源。
JIT(Just-In-Time,即时编译)是模拟器在运行时把 Switch 游戏的 ARM 机器码翻译成手机能直接执行的代码的技术。iOS 出于安全默认禁止普通 App 生成可执行代码,只有当调试器附加到一个侧载的 App 上时才放行,所以 iPhone、iPad 上的 Switch 模拟器 MeloNX 必须借助 StikDebug 这类工具开 JIT。截至 2026 年 10 月,StikDebug 在 iOS 17.4–18.x 上稳定可用;iOS 26 以上也能用,但只有开发者适配过的 App 才行,MeloNX 已经适配。
为什么 Switch 模拟器需要 JIT
- Switch 游戏是 ARM 代码。模拟器要么逐条解释执行(解释器),要么先翻译成本机代码再执行(JIT)。
- 解释器兼容但非常慢,Switch 这种量级的游戏会慢到不能玩。MeloNX 官方说得很直接:没有 JIT 完全不能运行。
- JIT 要求 App 能「写入一段代码,再把这块内存变成可执行」。iOS 默认不允许,只有调试器附加时才允许,而这要求 App 带开发签名才有的 get-task-allow 权限。
- App Store 和 TestFlight 的 App 不能带 get-task-allow,所以永远拿不到 JIT。苹果 2024 年 4 月起允许模拟器上架,但不允许 JIT。
- 所以流程是:用 Apple ID 侧载 MeloNX(带 get-task-allow)→ 用 StikDebug 这个「装在手机上的调试器」附加上去 → JIT 就开了。
侧载和安装见 iPhone / iPad 教程。
按系统版本速查
| 系统 | 开 JIT 的办法 | 备注 |
|---|---|---|
| iOS 16 及以下 | AltStore 的 AltJIT(需要电脑上的 AltServer)、SideStore 内置 JIT | — |
| iOS 17.0 – 17.3 | SideJITServer 等 | StikDebug 不支持(连接协议不同) |
| iOS 17.4 – 18.x | StikDebug(完全支持、稳定) | SideStore 0.6.2 起内置的 JIT 也可用 |
| iOS 26.x | StikDebug + 脚本 | 只有已适配的 App 能用;MeloNX 已适配 |
| iOS 27.x | 和 iOS 26 相同 | 有 iOS 27.0 上开 JIT 全部失败的报告,是否修好没有官方说明 |
iOS 26 为什么又变难了:TXM
iOS 26 引入了 TXM(Trusted Execution Monitor)。在有 TXM 的设备上,即使拿到了 JIT 权限,App 写进代码的内存页也必须先由调试器写入一次才能执行,「调试器的写入就是授权」。所以 iOS 26 刚出来时,JIT 一度全部失效。
解决办法要两边配合:
- App 这边:模拟器的 JIT 内存分配方式要按 StikDebug 公布的 iOS 26 JIT 协议改写,在启动时把所有要执行代码的区域交给调试器预处理。
- StikDebug 这边:运行对应的脚本。官方推荐通用的
universal.js,旧的legacy.js只为兼容保留;App 也可以自带脚本,通过 URL scheme 交给 StikDebug。
所以选了 universal.js 也不能让没适配的 App 凭空支持 JIT。另外,授权跟着调试会话走:App 完全退出后再打开要重新授权,而且只能在启动时授权,游戏中途开不了。
有 TXM 和没有 TXM 的设备
| 项 | 没有 TXM | 有 TXM |
|---|---|---|
| 芯片 | A12–A14 的 iPhone、M1 的 iPad | A15 及更新的 iPhone、M2 及更新的 iPad |
| iOS 26 上开 JIT | 附加再分离调试器就行,不需要脚本 | 必须用脚本,App 必须已适配 |
| 对 MeloNX 的影响 | — | MeloNX 推荐的 iPhone 15 Pro 及更新机型都在这一栏,都要用脚本 |
StikDebug 是什么
- StikDebug(原名 StikJIT)是一个装在手机上的调试器 / JIT 开启工具,基于 idevice 库,支持 iOS 17.4 以上,第一次配对之后不再需要电脑。
- 功能:给带 get-task-allow 的侧载 App 开 JIT、启动 App、查看日志、脚本(主要给 iOS 26 的 JIT 用)、查看 App 到期时间、进程管理、模拟定位。
- 它已经从 App Store 下架,官方给的安装方式是 AltSource、直接安装 IPA 或自己编译,都在它的官方项目主页上。
- 截至 2026-10-30 最新版是 3.2.0(当天发布),新增在手机上直接生成和管理配对文件。这个功能刚出,实际效果还没有确认。
需要准备的东西:
| 项 | 说明 |
|---|---|
| StikDebug 本体 | 用 SideStore、AltStore 之类的工具侧载 |
| 配对文件(pairing file) | 记录设备和电脑信任关系的文件(.plist / .mobiledevicepairing) |
| 续签工具 | SideStore、AltStore 等,免费 Apple ID 签名 7 天过期 |
| 回环 VPN | 例如 App Store 上的 LocalDevVPN,让手机上的工具「假装」连着电脑 |
开 JIT 的流程(概览)
- 先侧载好 MeloNX 和 StikDebug,并确认 MeloNX 是用 Apple ID 侧载的(企业证书签的拿不到 get-task-allow)。
- 准备配对文件。官方指南用电脑上的 iloader(Windows 要装 iTunes,Linux 要装 usbmuxd)的「Manage Pairing File」,在 StikDebug 旁点 Place;Impactor 也能放置。手机要设置锁屏密码,并在解锁、信任电脑的状态下操作。StikDebug 3.2.0 起也可以在手机上直接生成。
- 打开 LocalDevVPN,点 Connect,并连上 Wi-Fi。
- 打开 StikDebug,点 Enable JIT,在列表里选 MeloNX。
- iOS 26 的 TXM 设备:在 StikDebug 的 Scripts 里长按
universal.js,设为默认或分配给 MeloNX,以后每次都从 StikDebug 启动 MeloNX。 - MeloNX 完全退出后再打开,要重新从 StikDebug 启动一次。
手机每次重启后,StikDebug 都要重新挂载开发者磁盘映像(DDI),第一次打开时稍等一下。系统更新或重置后配对文件会失效,偶尔也会无故失效,重新生成即可。
SideStore 自带的 JIT
SideStore 0.6.2 起内置了开 JIT 的功能(在 My Apps 里长按 App → enable JIT),适用于旧系统和没有 TXM 的设备。iOS 26 的 TXM 设备还是要用 StikDebug 加脚本。SideStore 文档的 iOS 26.6 / 27 可用 App 列表(截至 2026-06-17)里有 MeloNX,原话是「iOS 26 又一次破坏了 JIT,26.6 和 27 上只有少数 App 能用」。
欧盟和日本
只写有可靠来源的部分:
- AltStore PAL 是苹果认可的第三方应用市场,官网写着目前只在欧盟、日本、巴西可用,用 VPN 改不了地区。日本在 iOS 26.2 起(2025-12-18)开放第三方商店,AltStore PAL 隔天在日本上线。
- PAL 里的 App 仍要经过苹果公证。苹果的立场是带 JIT 的 App 不能通过:Delta 在 App Store 和 PAL 上的版本都去掉了 JIT;UTM 2024 年连 PAL 的公证都没通过,后来只上了不带 JIT 的 UTM SE。
- 2025 年 4 月起,欧盟用户可以通过 AltStore PAL 安装 AltStore Classic,再用 StikDebug 给 Classic 装的 App 开 JIT。9to5Mac 报道过 MeloNX 就是这样在欧盟满速运行的。
- iOS 26 / 27 的 TXM 规则在欧盟同样适用:仍要 StikDebug、已适配的 App 和脚本。
- 网上有「欧盟用户会自动获得 JIT」的说法,截至 2026 年 10 月没有可靠来源证实,不要当真。
常见报错
| 报错 / 现象 | 可能原因 | 办法 |
|---|---|---|
| Connection dropped、loopback 错误 | iOS 版本不兼容,或在用测试版系统 | 对照上面的兼容表 |
| Heartbeat 错误 | VPN 没开、没连 Wi-Fi,或配对文件有问题 | 打开 LocalDevVPN 并连上 Wi-Fi;不行就重新生成配对文件 |
| 配对文件无效 | 系统更新或重置后失效 | 在手机解锁、信任电脑的状态下重新生成 |
| Device Not Mounted | 重启后开发者磁盘映像没挂上 | 强制退出 StikDebug 再打开 |
| 列表里找不到 MeloNX | 不是用 Apple ID 侧载的,没有 get-task-allow | 用 Apple ID 侧载工具重装 MeloNX |
| 提示 JIT 已开,游戏还是起不来 | iOS 26 没分配脚本,或 App 版本太旧 | 分配 universal.js;更新 MeloNX 和 StikDebug |
| iOS 27.0 上报 E96 / BrokenPipe | 已知报告,修复情况不明 | 关注 StikDebug 的说明,暂不升级 |
| 游戏中途想开 JIT | 授权只能在启动时做 | 完全退出,再从 StikDebug 启动 |
MeloNX 自己那一侧的提示(Waiting for JIT、JIT Not Acquired、内存权限、MeloNX Crashed! 等)见 MeloNX 报错大全。
StikDebug 3.1.12(2026-09-27)修复过 iOS 26.4 以下的磁盘映像问题并改进了 TXM 脚本,遇到怪问题先把 StikDebug 更新到最新版。更多苹果设备的内容见 iOS 平台专题,名词解释见术语表。
常见问题
JIT 是什么?为什么 Switch 模拟器离不开它?
JIT 是即时编译:模拟器在运行时把 Switch 游戏的 ARM 机器码翻译成手机能直接执行的代码。没有 JIT 只能用解释器一条条执行,Switch 这种量级会慢到不能玩,所以 MeloNX 官方说没有 JIT 完全不能运行。iOS 默认不允许普通 App 这样做。
每次玩都要连电脑吗?
不用。StikDebug 只在第一次配对时需要电脑生成配对文件(3.2.0 起也可以在手机上生成),之后打开 LocalDevVPN、在 StikDebug 里点 Enable JIT 就行。但系统更新或重置后配对文件会失效,要重新生成。
iOS 26 上 StikDebug 提示 JIT 已开启,MeloNX 还是用不了?
iOS 26 起,A15 及更新的 iPhone、M2 及更新的 iPad 有 TXM,必须在 StikDebug 的 Scripts 里给 MeloNX 分配脚本(推荐 universal.js),之后每次都从 StikDebug 启动它。另外只有开发者适配过 iOS 26 新方法的 App 才能用,先把 MeloNX 和 StikDebug 都更新到最新版。
欧盟用户是不是不用折腾 JIT?
不是。欧盟的 AltStore PAL 里的 App 要经苹果公证,苹果不让带 JIT 的 App 通过。2025 年 4 月起欧盟用户可以通过 PAL 安装 AltStore Classic,再配合 StikDebug 开 JIT,9to5Mac 报道过 MeloNX 这样能满速运行。iOS 26 的 TXM 规则在欧盟同样适用。
iOS 27 能开 JIT 吗?
截至 2026 年 10 月不确定。StikDebug 的问题追踪里有过 iOS 27.0 上所有 App 开 JIT 都失败(E96 / BrokenPipe)的报告,问题已关闭,但是否修好没有官方说明。依赖 JIT 的话,先看 StikDebug 和 MeloNX 的最新说明再升级。
StikDebug 能在 App Store 下载吗?
不能,它已经从 App Store 下架。官方给的方式是添加它的 AltSource、直接安装 IPA 或者自己编译,都写在它的官方项目主页上。网上转载的「StikDebug 下载站」可能不是官方的。
资料来源
- StikDebug(官方项目主页)
- StikJIT:INTEGRATION.md(iOS 26 JIT 协议)
- StikDebug Guide:Pairing File
- SideStore Docs:Enabling JIT
- AltStore Docs:Enabling JIT(AltStore Classic)
- AltStore 官网
- 9to5Mac:AltStore PAL、Switch 模拟与 JIT(2025-04-19)
- heise:Game emulators for the iPhone: The obstacles Apple puts in the way
- Daring Fireball:UTM 公证被拒(2024-06-18)
- MacRumors:AltStore 在日本上线(2025-12-18)
- Emulation General Wiki:Emulators on iOS
- MeloNX 官网