iloader 配对文件自动投放指南:SideStore 的 ALTPairingFile 是怎么放进去的
【免费下载链接】iloaderUser friendly sideloader项目地址: https://gitcode.com/GitHub_Trending/iloa/iloader
iloader 是一款用户友好的 iOS 侧载工具(User friendly sideloader),它不仅帮你安装 SideStore,还会自动生成配对文件(pairing file)并投放到设备上的正确位置。本文以 SideStore 的ALTPairingFile.mobiledevicepairing为例,讲清楚这个"自动投放"背后的完整机制,帮助新手理解 iloader 配对文件管理的工作原理。
一、先搞懂:配对文件是什么?
在 iOS 侧载生态中,配对文件是电脑与设备之间"建立信任"的凭证。iloader 会合并两种记录生成一份完整文件:
- Lockdown 配对记录:传统 USB 调试通道的基础凭证
- RPPairing 记录:iOS 17.4+ 新增的远程配对凭证,通过软件隧道与设备协商生成(设备上可能需要点击"信任")
生成逻辑位于 src-tauri/src/pairing.rs,其中 RPPairing 结果会按设备 UDID 缓存到系统钥匙串(keyring),下次操作无需重新配对。iOS 17.4 以下版本则只输出 Lockdown 部分。
💡 简单理解:配对文件就像"门票",SideStore 等应用拿到它,才能在 iOS 17.4+ 的新环境里继续工作。
二、SideStore 的投放路径:ALTPairingFile 是怎么确定的?
iloader 内置了一张"目标应用 → 存放路径"的映射表,SideStore 就是其中的第一项:
| 应用 | 设备上的存放路径 |
|---|---|
| SideStore | ALTPairingFile.mobiledevicepairing |
| LiveContainer(内含 SideStore) | SideStore/Documents/ALTPairingFile.mobiledevicepairing |
| StikDebug / Protokolle 等 | pairingFile.plist |
该表定义在 src-tauri/src/pairing.rs。注意 LiveContainer 的路径多了一层:因为此时 SideStore 是运行在 LiveContainer 的沙盒容器里的,所以文件要再往里嵌套一层。
三、自动投放的完整流程
以"安装 SideStore"为例,整体流程在 src-tauri/src/sideload.rs 中串成三个步骤:下载 → 侧载安装 → 投放配对文件(Pairing)。
1. 定位目标应用
get_sidestore_info会通过 installation proxy 拉取设备已装应用列表,按显示名匹配出 SideStore(或 LiveContainer)及其 bundle ID,并从映射表取出目标路径。如果没找到 SideStore,操作会直接报错提示"SideStore's not found"。
2. 打开沙盒的"后门":HouseArrest
核心投放函数place_file定义在 src-tauri/src/pairing.rs,动作分四步:
- 连接 HouseArrest 服务—— 这是 iOS 提供的"沙盒准入"通道,允许受信任的工具直接读写应用的 Documents 目录;
- vend_documents(bundle_id)—— 申请进入 SideStore 的沙盒,获得 AFc 文件通道;
- mk_dir—— 若目标含子目录(如 LiveContainer 场景),先创建目录;
- 以写模式(Wr)打开文件并写入—— 把内存中完整的配对文件字节流一次性写入
/Documents/ALTPairingFile.mobiledevicepairing,然后关闭文件。
也就是说,你不需要越狱、不需要任何手动操作,iloader 利用配对建立的信任身份,直接把文件"塞"进了 SideStore 的沙盒。
3. 手动管理:配对文件页面
除了安装时的自动投放,iloader 还提供了独立的管理页面(界面代码见 src/pages/Pairing.tsx):
- 单应用投放:点击某个应用旁的"Place",调用
place_pairing_cmd只投放给该应用; - 一键全部投放:遍历所有受支持应用依次投放;
- 导出配对文件(不推荐):保存到电脑本地,适合需要用其他工具的高级用户。
四、常见问题排查
Q1:投放失败提示 HouseArrest 相关错误?
确认设备已连接且"信任"了这台电脑;投放前设备需处于解锁状态。iloader 的错误提示带有智能建议,可参考 src/errors.tsx。
Q2:LiveContainer + SideStore 组合为什么路径不同?
因为 SideStore 装在 LiveContainer 的容器沙盒里,投放目标变成了SideStore/Documents/子目录,代码中已通过映射表自动处理,无需用户关心。
Q3:可以重新配对吗?
设置页提供"删除已存储配对"选项,删除后下次操作会重新走一遍 RPPairing 流程。
五、小结
iloader 的"自动投放"本质上是三段式协作:映射表定路径 → HouseArrest 进沙盒 → AFc 写文件。对新手而言只需记住:装好 SideStore 后,配对文件这一步 iloader 全程代办,ALTPairingFile.mobiledevicepairing会安静地出现在它该在的位置。想要深入了解实现细节,可从以下入口开始:
- 配对核心逻辑:src-tauri/src/pairing.rs
- 侧载安装与投放编排:src-tauri/src/sideload.rs
- 前端配对管理页:src/pages/Pairing.tsx
- 多语言文案(含各操作提示):src/locales/en.json
- 项目说明:README.md
【免费下载链接】iloaderUser friendly sideloader项目地址: https://gitcode.com/GitHub_Trending/iloa/iloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考