越狱后别再每 7 天重签一次:AppSync Unified 从装源到用 appinst 装 IPA 全流程

越狱之后最实用的一类插件,往往不是那些花哨的主题,而是能把你从「签名」这件麻烦事里解放出来的工具。AppSync Unified 就是这一类——它的作用一句话说完:让 iOS 接受本来会被拒绝的 IPA 包。

这篇按实际操作顺序走一遍:先讲清楚它能解决什么、原理是什么,再给出从添加源到装包验证的完整步骤,最后附上装完没生效时的排查顺序和几个必须知道的限制。

动手前的提醒:安装任何系统级插件都有让设备无法正常启动的可能,操作前请先用 iTunes 或访达做一次完整备份,确认自己接受这个风险再往下走。另外,这个工具是给开发者和自用测试准备的,请不要用它安装盗版应用——这一点下面还会再提一次。

它能解决什么问题:和 AltStore、Sideloadly 差在哪

先用一句对比把位置放清楚。

没有越狱的情况下,往 iPhone 上装第三方 IPA 一般走 AltStore 或 Sideloadly 这条路。它们的机制是用你的 Apple ID 免费开发者证书做一次签名,问题也随之而来:免费证书 7 天过期,到期要重签一次;同时一台设备最多只能同时装 3 个这类应用。

AppSync Unified 走的是完全不同的思路,它不去做签名,而是让系统不再检查签名。直接结果就是:没有 7 天期限,没有 3 个应用的数量上限,签名已经过期的包也能装上。

代价是什么?它需要越狱环境。没有越狱,这个插件装不上,这条路径也就不存在。

具体能用来干这几件事:给 Xcode 编译的开发版做真机调试,不用每隔 7 天重签一次;安装 App Store 上已经下架的免费分发应用;把已装的 App 克隆一份或者降级回旧版本;安装社区开源自编译的工具。这几项在 App Store 的规则下基本做不到。

原理:两个模块,分别管安装和运行

AppSync 在系统里的介入点有两处,理解这两处能帮你在出问题时判断是哪个环节没生效。

第一个模块注入 installd 进程——这是 iOS 里负责安装应用、做各种检查(包括签名校验)的守护进程。AppSync 挂上钩子之后,会把被判定为无效的签名补成系统能接受的形式,安装环节就通了。

第二个模块注入 FrontBoard 与 FrontBoardServices 私有框架。这个是 iOS 14 以后才变得必要的:应用启动时系统还会做一次复查,主要针对已过期的签名。如果只绕过安装环节,包能装上,但用着用着可能突然被系统清退。第二个模块的作用就是让系统在运行阶段始终认为这个应用是可信的。

一个管进门、一个管在屋里待着,两头都盖住了——这也是包名里「Unified」的来源。

安装前确认:越狱环境与依赖

在动手之前,先确认三件事。

第一,版本范围。当前版本(116.0)支持 iOS 5.0 到 18.2 全范围。系统会自动识别 iOS 版本并选用对应的签名绕过方式,不需要你手动选。

第二,注入框架。插件依赖底层的注入环境,具体要求是:传统越狱需要 MobileSubstrate 0.9.5100 或更高;无根(rootless)越狱需要 ElleKit 1.1 或更高。这算是无根越狱生态的标准配置,一般装了越狱工具就已经有了。

第三,包管理器。Cydia、Zebra、Sileo 都行,下面的步骤以通用写法为主。

安装步骤

按顺序做,中间不需要重启多次。

  • 打开包管理器。进入你常用的那个(Cydia / Zebra / Sileo),找到「软件源 / Sources」这一栏。
  • 添加官方源。地址是 https://cydia.akemi.ai/。手动输入时注意末尾的斜杠,并且要加 https。如果包管理器支持点按添加,直接点链接会自动跳转。
  • 搜索并安装。刷新源之后搜索「AppSync Unified」,包 ID 是 ai.akemi.appsyncunified,点安装并确认依赖。
  • 等安装脚本跑完。安装完成后系统会执行一个 postinst 脚本,自动重启 installd 守护进程,并由一个叫 asu_inject 的工具把动态库注入进去。这个过程是自动的,不用你操作。
  • 重启或重新越狱。多数情况下装完会自动 respring。但如果你的越狱是「重启后需要重新激活」的类型,记得重新跑一遍越狱流程,否则插件不会加载。
  • 验证是否生效。最直接的办法:随便挑一个之前被系统拒绝的 IPA,再装一次。这次通过了就说明生效。

一条重要提醒:请只从官方源安装这个插件。历史上出现过第三方源修改版把用户系统搞坏的情况,同一个包 ID 下如果有多个源都在提供,包管理器可能随机挑一个。装完可以在包详情里核对一下来源。

装完没生效怎么办

这是最常见的一个问题,而且原因基本是固定的:注入环节在重启守护进程时没成功。这是底层注入框架的老毛病,跟 AppSync 本身没关系。

按下面的顺序逐个试,一般第一步就好了。

  • 重启设备。最省事的办法,重启后重新激活越狱。
  • 用户空间重启。不想整机重启的话,用终端执行 launchctl reboot userspace。这个命令只重启用户空间,比整机重启快,效果对插件加载通常够用。
  • 另一个常用命令。如果上面那条在你的环境里不管用,试试 ldrestart

这三步做完还是不行,再去检查依赖版本是不是达标(ElleKit 是否 1.1+),以及是不是从官方源装的。

用 appinst 从终端装 IPA

插件包里附带了一个命令行工具 appinst,这是比在图形界面里点来点去更好用的方式,尤其是要批量装的时候。

基本用法就是给一个路径:

  • 先把 IPA 传到设备上,记下完整路径,比如 /var/mobile/Downloads/xxx.ipa
  • 打开终端(越狱环境里一般用 NewTerm 或者通过 SSH 连进去),执行 appinst /var/mobile/Downloads/xxx.ipa
  • 看输出。成功会给出安装完成的信息,失败会打印具体原因。

要批量装的话,写个简单的循环脚本一次性处理整个目录就行,比一个一个点快得多。

这里有个坑必须提前说:appinst 目前在 Dopamine 越狱上不工作,原因是该越狱环境下存在一个进程间通信的问题,这是作者明确标注过的已知限制。如果你用的是 Dopamine,装 IPA 请改用 Filza、AppCake 这类图形工具,或者配合 ReProvision Reborn 使用,别在命令行上浪费时间。

几个必须知道的限制

把该说的都说了,免得后面踩坑。

  • 非越狱状态下应用可能打不开。因为签名本身是无效的,一旦越狱失效(重启后没重新激活),这些应用可能触发验证失败。好消息是重新激活越狱后它们会恢复正常,不需要重装。
  • 不要用于盗版。这个工具的定位是开发测试工具,用来装自己编译的包、公司内部分发的测试包、或者社区开源的 App 都没问题。用它装破解版应用属于另一回事,请自行判断。
  • 系统更新会重置越狱。这是越狱生态的通用规律,升级系统版本后需要等新工具支持。
  • 不支持的类型别硬试。对越狱插件来说,AppSync 只做签名校验的绕过,它不改变 iOS 自身对包格式的要求。

把安装、验证、排查这三步走顺之后,日常使用其实很省心——插件在后台一直有效,你只需要在越狱环境保持激活的前提下正常装包就行。