Skip to content

Commit 90d50dc

Browse files
committed
JIT docs
1 parent 6f5025f commit 90d50dc

4 files changed

Lines changed: 56 additions & 118 deletions

File tree

docs/guides/jit-support.md

Lines changed: 26 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -5,89 +5,41 @@ sidebar_position: 2
55

66
# JIT Support
77

8-
LiveContainer integrates with multiple JIT enablers. Configure them in `Settings -> JIT`.
9-
10-
## Correct launch sequence (important)
11-
12-
Use this order to avoid false failures:
13-
14-
1. Do **not** manually enable JIT for LiveContainer first.
15-
2. Configure your JIT enabler in settings.
16-
3. Mark target app with `Launch with JIT`.
17-
4. Tap `Run` and keep the waiting dialog visible.
18-
5. If your enabler is manual, trigger JIT from the enabler while the waiting dialog is still open.
19-
20-
## Enable JIT for an app
21-
22-
1. Hold app -> `Settings` -> enable `Launch with JIT`.
23-
2. Configure one enabler below.
24-
3. Launch app. LiveContainer enters a waiting state until JIT is attached.
25-
4. If your enabler is manual, trigger JIT while waiting prompt is still open.
26-
27-
## Enabler matrix
28-
29-
- **StikDebug**: best default for most users.
30-
- **StikDebug (Another LiveContainer)**: runs JIT flow through another LC instance.
31-
- **SideStore**: good if you already use SideStore flow.
32-
- **SideJITServer / JITStreamer 2.0**: for self-hosted server workflows.
33-
- **JITStreamer-EB (Relaunch)**: browser/relaunch-based workflow.
34-
35-
## StikDebug (recommended)
8+
LiveContainer has built-in support for popular JIT enablers. You can set it up in LiveContainer settings -> JIT section.
369

10+
## Select a JIT Enabler
3711
:::note
38-
StikDebug support has existed since older 3.3.51+ era builds and remains the recommended path in current builds.
12+
Only StikDebug/StikDebug(Another LiveContainer) works for iOS 26+.
3913
:::
4014

41-
1. Install StikDebug and import pairing file.
42-
2. Choose `StikDebug` in LiveContainer JIT settings.
43-
3. Launch app and let LiveContainer request attach.
44-
45-
If automatic attach fails, open StikDebug manually and trigger JIT while waiting dialog is visible.
46-
47-
## StikDebug (Another LiveContainer)
48-
49-
This mode requires an available secondary LiveContainer instance.
50-
51-
If you see no available target instance:
52-
53-
- install another LiveContainer instance
54-
- close running instances using needed container
55-
- or switch to another enabler
56-
57-
## SideStore
58-
59-
1. Select `SideStore` enabler.
60-
2. Launch app, wait for prompt.
61-
3. Switch to SideStore and enable JIT for LiveContainer.
62-
4. Return to LiveContainer.
63-
64-
Note: SideStore URL flow may not always return to LiveContainer automatically on all setups, so manual app switching is expected.
65-
66-
## SideJITServer / JITStreamer 2.0
67-
68-
1. Enter server address and device UDID in JIT settings.
69-
2. Launch app.
70-
3. LiveContainer contacts server endpoint automatically.
71-
72-
## JITStreamer-EB (Relaunch)
15+
For *StikDebug*, Choose "StikDebug".
7316

74-
Use when your workflow depends on browser-based relaunch behavior.
17+
For *StikDebug in LiveContainer*, Choose "StikDebug(Another LiveContainer)".
7518

76-
## Common failures
19+
For *SideStore*, choose SideStore as your JIT enabler. Please note that since SideStore's JIT URL Scheme is not implemented yet, you still need to manually enable JIT for current LiveContainer in SideStore. Built-in SideStore is not supported.
7720

78-
### "Waiting for JIT" never completes
21+
For *JitStreamer-EB* (Deprecated), choose JitStreamer-EB as your JIT enabler. If you use JitStreamer through a Wireguard VPN and you use the official server or you self-host and did not changed the `WIREGUARD_SERVER_ADDRESS` variable, you can leave "Address" blank. Otherwise, put the address to your server in "Address", including scheme (http/https) and port (9172).
7922

80-
- verify selected enabler
81-
- verify enabler app/server is reachable
82-
- keep waiting prompt open while triggering manual flow
83-
- if SideStore path is used, confirm VPN/connectivity prerequisites before triggering
23+
For *SideJITServer/JITStreamer 2.0*, please input both your address and device UDID.
8424

85-
### Works in normal launch, fails in multitask
25+
## Setup App
26+
Mark an app as JIT needed by going to: hold app -> settings -> enable Launch with JIT. LiveContainer will wait for JIT to be enabled and try to contact the JIT enabler you configured.
8627

87-
Use an enabler that supports PID-based attach.
28+
If you are on iOS 26+ and your device uses A15+ or M2+ (included), you'll also need a JIT script for each app. Please contact app developer for that. You may load the script by: hold app -> settings -> select JIT launch Script.
8829

89-
## Related
30+
## Setup StikDebug (Another LiveContainer)
31+
StikDebug can be installed and used in LiveContainer. A free LiveContainer other than current one should be available to launch StikDebug
32+
- Download StikDebug ipa and install it in LiveContainer
33+
- Setup StikDebug as usual (import pairing file etc.)
34+
- Convert StikDebug into a shared app
35+
- Make sure a free LiveContainer other than current one is available
36+
- Connect to LocalDevVPN
37+
- Tap "Run"
38+
- StikDebug will be launched in another LiveContainer, and the requested app should be launched with JIT enabled
9039

91-
- [Multiple LiveContainers](./multiple-livecontainers.md)
92-
- [JIT-Less Setup & Diagnose](../faq/jit-less-mode-setup.md)
93-
- [Troubleshooting](../faq/common-issues.md)
40+
## The correct way to enable JIT for an app inside LiveContainer
41+
0. Don't enable JIT for LiveContainer now
42+
1. Set up your JIT enabler as said above
43+
2. Enable "Launch with JIT" as said above
44+
3. Tap run
45+
4. If your JIT enabler doesn't support automatic enabling, you need to enable JIT for LiveContainer from your JIT enabler while keeping the "waiting for JIT" prompt open.

i18n/zh-CN/docusaurus-plugin-content-docs/current.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"message": "指南",
2424
"description": "The label for category Guides in sidebar docsSidebar"
2525
},
26-
"sidebar.docsSidebar.doc.Installation": {
26+
"sidebar.docsSidebar.category.Installation": {
2727
"message": "安装",
2828
"description": "The label for the doc item Installation in sidebar docsSidebar, linking to the doc installation"
2929
}
Lines changed: 29 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,45 @@
11
---
22
title: JIT 支持
3+
sidebar_position: 2
34
---
45

56
# JIT 支持
67

7-
LiveContainer 能与多种 JIT 启用器协同工作,可在 iOS 17.4–18.x 以及最新的 iOS 26+ 测试版上运行未签名二进制。所有设置均位于 **设置 JIT**
8+
LiveContainer 支持多个常见 JIT 启用器。请在 `设置 -> JIT` 中进行配置
89

9-
## 标记需要 JIT 的应用
10+
## 选择JIT启用器
11+
:::note
12+
仅StikDebug/StikDebug(Another LiveContainer)支持iOS 26+。
13+
:::
1014

11-
1. 长按应用 → **设置** → 开启 **使用 JIT 启动**
12-
2. 打开 LiveContainer,但暂时不要触发 JIT
13-
3. 设置下文的任意启用器
14-
4. 确认启用器的前置条件已满足(VPN、配对电脑等)
15-
5. 点击 **运行**。LiveContainer 会进入「等待 JIT」状态,直到启用器回复
16-
6. 如果启用器无法自动附加,请在提示框存在期间切到启用器手动触发
15+
对于 *StikDebug*, 选择 "StikDebug".
1716

18-
## 内置启用器
17+
对于 *安装在LiveContainer中的StikDebug*, 选择 "StikDebug(Another LiveContainer)".
1918

20-
### StikDebug(原 StikJIT,推荐)
19+
对于 *SideStore*, 选择SideStore。 请注意由于SideStore的JIT URL还未实装,你需要手动在SideStore中对当前LiveContainer启用JIT。 此方法不支持内置SideStore。
2120

22-
[StikDebug](https://apps.apple.com/us/app/stikdebug/id6744045754) 是 iOS 17.4+ 和 iOS 26+ 脚本流程里最顺畅的解决方案
21+
对于 *JitStreamer-EB* (已弃用), 选择 JitStreamer-EB。 如果你通过Wireguard VPN连接JitStreamer-EB服务器,且你未修改`WIREGUARD_SERVER_ADDRESS`,请将“地址”栏留空,否则请在“地址”栏输入你的服务器地址,包括(http/https)和端口(9172)
2322

24-
1. 安装 StikDebug 并导入 AltStore/SideStore/AltServer 生成的配对文件
25-
2. 在应用设置中启用 **使用 JIT 启动**
26-
3. 进入 **设置 → JIT 启用器**,选择 **StikDebug**。若要使用 iOS 26+ 自动化脚本,可在该界面粘贴脚本
27-
4. 启动应用。LiveContainer 会尝试自动请求 StikDebug。若失败,请在提示框仍在时切换到 StikDebug 并点击「Enable JIT for LiveContainer」
23+
对于 *SideJITServer/JITStreamer 2.0*, 请输入服务器地址和你的设备的UDID。
2824

29-
### SideStore(0.6.2+)
25+
## 配置App
26+
长按App->设置->启用“带JIT启动”,将App标记为需要JIT。LiveContainer将等待启用JIT,并尝试联系您配置的JIT启用器。
3027

31-
SideStore 提供 JIT API,LiveContainer 可以调用。但由于 URL Scheme 暂时不会自动跳回,需要手动完成流程:
28+
如果你使用的是iOS 26+,并且你的设备使用A15+或M2+(含),你还需要为每个App提供一个JIT脚本。请联系App开发者。您可以通过以下方式加载脚本:长按App->设置->选择JIT启动脚本。
3229

33-
1. 在设置中选择 **SideStore** 作为启用器
34-
2. 出现「等待 JIT」后切到 SideStore → **My Apps**
35-
3. 确保 SideStore VPN 已连接(或用飞行模式+Wi-Fi 的方式)
36-
4. 长按 LiveContainer → **Enable JIT**,SideStore 成功后再返回 LiveContainer
30+
## 安装StikDebug(另一个LiveContainer)
31+
StikDebug可以在LiveContainer中安装和使用。应提供除当前LiveContainer之外的空闲LiveContainer来启动StikDebug
32+
- 下载StikDebug ipa并将其安装在LiveContainer中
33+
- 正常配置StikDebug(导入配对文件等)
34+
- 将StikDebug转换为共享App
35+
- 确保有除当前LiveContainer之外的空闲LiveContainer可用
36+
- 连接到LocalDevVPN
37+
- 点击“运行”
38+
- StikDebug将在另一个LiveContainer中启动,并且所请求的应用程序应在启用JIT的情况下启动
3739

38-
### SideJITServer
39-
40-
[SideJITServer](https://github.com/nythepegasus/SideJITServer) 允许你自建配对服务。
41-
42-
1. 部署 SideJITServer,并记录 HTTP 地址与设备 UDID
43-
2. 在 LiveContainer 的 **设置 → JIT 启用器 → SideJITServer** 中填入地址与 UDID
44-
3. 启动应用,LiveContainer 会自动访问你的服务器
45-
46-
### AltStore/AltServer 脚本
47-
48-
最新版本提供脚本输入框,可粘贴 AltStore/AltServer 社区分享的自动化脚本(包含 iOS 26+ 版本)。这些脚本通常要求设备和 AltServer 处在同一网络。
49-
50-
1. 从 AltStore Discord 或 Wiki 复制脚本
51-
2. 粘贴到 JIT 设置中的脚本字段
52-
3. 运行标记为「使用 JIT 启动」的应用。LiveContainer 会执行脚本并在提示框中显示输出
53-
54-
## 故障排查
55-
56-
- 先使用 **JIT-Less 诊断页面**(设置 → JIT-Less Mode Diagnose)确认证书和钥匙串状态
57-
- 如果提示框立刻关闭,检查启用器是否已在设置中选中,LiveContainer 是否有权限打开其 URL Scheme
58-
- 通过 **设置 → 数据管理 → 导出日志** 收集日志并附加到 Issue
59-
- 多任务窗口需要支持按 PID 附加的启用器(如 StikDebug)。SideStore 的手动启用无法满足此需求
40+
## 在LiveContainer中为应用程序启用JIT的正确方法
41+
0. 先不要为LiveContainer启用JIT
42+
1. 如上所述设置JIT启用程序
43+
2. 如上所述启用“JIT启动”
44+
3. 点击运行
45+
4. 如果您的JIT启用程序不支持自动启用,您需要从JIT启用程序为LiveContainer启用JIT,同时保持“等待JIT”提示打开。

static/img/jit-less-diagnose/2.jpg

-2.43 KB
Loading

0 commit comments

Comments
 (0)