技術參考
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 官網