
LiveContainer 教程
众所周知 iOS 的免费开发者一次性最多只能签 10 个 AppID 和 3 个 App,非常的不方便,尽管 AltStore/SideStore 中存在着启用/禁用的流程,但是毕竟还是非常的不方便,每次启用 App 都是在重新签名,并且也无法绕开 10 个 AppID 的限制。
于是有一天我发现了 LiveContainer 这个东东,可以说是十分好用,下面就给大伙介绍一下。
目录
LiveContainer 介绍
了解过 MBR 分区表的小伙伴应该会有很强的既视感,没错,LiveContainer 就像是“逻辑分区”,通过把多余的软件全部安装在 LiveContainer 内部,从而绕开 AppID 和 App 数量限制,虽然这个比喻跟没比喻好像差不多……
LiveContainer 并不是虚拟机,在启动某个软件时,LiveContainer 会使用 LiveProcess 来启动对应的软件,启动后该软件会直接替代 LiveContainer 进程。因此,切换软件的时候需要彻底退出。

当然这些 App 本身还是需要签名的,LiveContainer 可以自动从 AltStore/SideStore 中获取所使用的证书并对 App 进行签名,这个签名过程由于直接共享 LiveContainer 自身的 AppID 因此不会占用你的 App 限制和 AppID 数量。
不想签名也没关系,LiveContainer 支持集成各种 JIT 工具,JIT 除了可以用来加速各种模拟器,还可以用来运行未经签名的软件。
LiveContainer 还支持加载插件,没错就是越狱里面经常见到的 .dylib 格式的插件,虽然十分的不好用就是了……(加载方式不是 ElleKit,是就怪了)
最后,LiveContainer 支持多开,不过这个多开是通过生成另一个 LiveContainer 安装包实现的,需要你安装这个包,也因此会占用你的 AppID 限制。
安装流程
安装 LiveContainer 本体
首先从 GitHub 上把 LiveContainer 下下来。
正常侧载就行,不过 LiveContainer 官方似乎更推荐使用 SideStore 安装。
导入证书
我是使用的 SideStore + StikDebug 的组合,下面就以这个组合为例介绍。
LiveContainer 并非不需要签名,转到设置,点击“从 SideStore 导入证书”。弹出来各种提示,一概同意即可。

导入成功后,点击“免 JIT 模式”诊断,只要没有红字就代表一切正常。

配置 JIT 模式
LiveContainer 支持各种各样的 JIT 启用工具,不过不会自动识别,需要手动配置。
还是在刚刚的设置页面,可以看到“JIT 启用工具”的选项,根据你的工具选择即可,我这里选择的是 StikDebug。(SitkDebug 安装教程)
至此 LiveContainer 就配置好了。
使用 LiveContainer
LiveContainer 的界面说没有借鉴 AltStore 我是不信的。

点击左上角的加号可以安装软件,点击“启动”就能启动。
一般的软件,比如各种破解版软件,可以直接运行。某些软件,特别是各类模拟器、虚拟机,还需要配置。
长按需要配置的软件,点击“设置”。

首先最明显的就是,模拟器是需要 JIT 的,因此需要将 App 标记为“带 JIT 启动”。
由于 LiveContainer 的特殊性,在软件中导入文件时的路径是错乱的,因此还需要修复文件导入。至少要开启“修复文件导入”开关,还可以同时打开“使用 LiveContainer 的包名”来提高成功率。
最后配置完差不多是这个效果:

在打开了 JIT 后,软件的图标右侧会多出一个紫色的闪电。
使用 JIT 的时候一定要确保 JIT 启用工具的设置是正确的!
常见问题
模拟器崩溃、提示内存不足
似乎是 LiveContainer 的一个 Bug,尽管自身拥有提升内存限制的 Entitlement,这个 Entitlement 并不会传递给安装的 App。如果可以肯定模拟器的问题是因为内存问题产生的,那么还是建议直接安装而不是在 LiveContainer 中安装。
卡在等待 JIT

由于 LiveContainer 十分独特的性质,在 StikDebug 里直接连接 LiveContainer 是无法正常启用 JIT 的,只能由 LiveContainer 主动触发 JIT。
确认一下自己的 JIT 启用工具是否正确。
有的时候 StikDebug 会卡在原地不动,没有自动启用 JIT。这种情况下,只要确保是 LiveContainer 主动请求的 JIT 就没有问题,直接正常为 LiveContainer 启用 JIT 即可。
导入文件、ROM 没有反应
确保打开了“修复文件导入”。
提示找不到 32 位运行环境
这个提示说明你安装了一个 32 位的软件。
尽管 LiveContainer 计划支持使用 32 位运行时来在新版的 iOS 上运行 32 位软件,但是目前并没有任何真正可用的运行时,LiveExec32 目前只能运行一些 32 位的命令行小工具,完整的 iOS App 还远着呢。
目前想玩老游戏的还是建议找一个老手机,比如 iPhone 4s。

