Jitterbug

简介

Jitterbug 是 UTM 的作者 @osy86 发布的一个 iOS App。它的功能是让 iOS 在没有 Xcode 附加调试器的情况下,也可以运行需要 JIT 的 App,例如:UTM 虚拟机,海豚模拟器,PPSSPP 等。
目前(2021 年 6 月 5 日),iOS 上唯二不需要任何附加修改即可运行 JIT App 的版本是 iOS 14.2 与 14.3,其他情况下需要对设备进行越狱才可以开启 JIT 的运行权限。苹果在后续的 iOS 版本均未解禁 JIT 的运行权限。需要 JIT 运行权限的 App 只能通过 Xcode 附加调试器的形式来临时解禁。
使用 Jitterbug 即可免越狱开启 iOS 14+ 设备的 JIT 运行权限。(不支持 iOS 17+)

Jitterbug的原理是模拟Xcode调试App的过程为App开启JIT权限。所以只能为Development证书签名的app开启jit。如果你用Distribution证书签名安装,App将以分发模式运行,缺失get-task-allow权限,不支持调试开启jit。如果你在签名的时候使用带有Distribution字样的证书签名App,代表这是一个分发证书。

使用Jitterbug开启Distribution证书签名的App时,将会报错提示:failed to get the task for process xxx

如何确认 App 是否为Distribution证书签名?
1.打开设置,进入通用>VPN与设备管理
2.找到签名安装的App,例如UTM
3.页面中会显示此App的签名方式,例如:“来自开发者:iPhone Distribution: XXX” 代表这是一个使用Distribution证书签名的 App。Jitterbug 无法开启这类App的JIT权限。

如果您在使用Jitterbug过程中遇到问题,请参照本文下方的故障排除指南,尚未支持 iOS 17

由于 iOS 17 改变了 Developer Image的挂载方式,且 Apple 不再提供通用的 Developer Image,需要生成每台设备专用的“Personalized Developer Disk Image”。Jitterbug利用 "libimobiledevice" 库来挂载开发者镜像,使对应 App 进入调试模式,从而使设备开启 JIT 权限。
目前 libimobiledevice 开源社区仍在研究如何适配 iOS 17 的新的 Developer Image 挂载方式,Jitterbug 只能在 libimobiledevice 适配完成后才能对 iOS 17 起作用。

以下是 libmobiledevice 关于适配 iOS 17 的讨论页面:
https://github.com/libimobiledevice/libimobiledevice/issues/1452

安装要求

1、运行 iOS 14 或以上的 iOS 设备 (尚未支持iOS 17)
2、一台电脑(仅在配对时需要)。macOS,Windows 或 Linux 均可。
3、iOS 设备连接了网络。

提示

  • 请根据自己的电脑系统,按本文下方视频教程操作。
  • 生成配对文件的 Windows 电脑必须是 Win8 以上的操作系统,若您使用 Windows 11,请使用 Powershell 而不是 CMD 来生成配对文件。
  • Jitterbug 只能找到生成过配对文件的设备,若 Jitterbug 首页无法找到配对文件,则代表配对文件已失效,需要重新配对。
  • 在蜂窝数据网络环境使用 Jitterbug 需要暂时停用数据连接,目标 App 启动后再恢复数据连接(详情请看下方视频)

开发者必读

Jitterbug 的本机调试功能需要用到 Personal VPN 权限,请在签名前按照下面步骤配置 App ID

搜索 Jitterbug 的 App ID

Screenshot_2022-02-02 12.08.36_V77qIl.png

勾选 Network ExtensionsPersonal VPN

Screenshot_2022-02-02 12.09.00_b849Fw.png

v1.3.1 更新内容

修复了 iOS 16 闪退的问题。
IMG_0242 (1).png

注意事项

1、设备必须连接网络(蜂窝或Wi-Fi均可)。
2、下载的 DeveloperImage 请解压并保存在“我的 iPhone/iPad”里。不可放入 iCloud 云盘和其他应用文件夹内。
3、无法挂载镜像时(提示ImageMountFailed)请检查镜像版本是否匹配你的 iOS 版本。例如:iOS 15.1 需要挂载 iOS 15.1 的开发者镜像文件。iSign 用户群文件持续更新开发者镜像文件。如果之前挂载过错误的版本的开发者镜像,只能重新启动设备才可解决问题
4、每次使用 Jitterbug 前,必须手动杀掉上次未关闭的 Jitterbug App。
5、无法找到设备时请重新生成配对文件。
6、必须首先点击设备列表里的设备,待jitterbug提示添加VPN配置文件后,再导入配对文件和支持文件。

如果您在使用 Jitterbug 过程中遇到问题,请参考下方视频【iSign系列教程】Jitterbug 故障排除

相关视频

【iSign系列教程】iOS 解锁JIT运行权限 Jitterbug

https://www.bilibili.com/video/BV12w411f7LR

【iSign系列教程】补充教程 如何在蜂窝数据网络使用 Jitterbug

https://www.bilibili.com/video/BV1YT411A7KA

【iSign系列教程】Jitterbug 故障排除

https://www.bilibili.com/video/BV16L411u7Ts

iPad安装UTM with Jitterbug终极教程

https://www.bilibili.com/video/BV1FU4y177sE

故障排除指南

JitterbugPair 生成配对文件

1、提示“No device found.”
确保以下事项:

  • 使用可靠的 USB 线缆。
  • (Windows 系统)正确安装 iTunes,且 iTunes 能读取 iOS 设备的信息。
  • iOS 设备亮屏且已解除锁定。

2、提示“ERROR: You must set up a passcode to enable wireless pairing.”
确保以下事项:

  • iOS 设备设置了锁屏密码。

Jitterbug App

1、提示无法与设备通讯
Screenshot_2021-10-09 22.46.11_JmAHZQ.png
确保以下事项:

  • iOS 设备已连接Wi-Fi。
  • 设备的名字(在设置>关于本机>名称)不可以有emoji,中文字符,或其他特殊符号。
  • 导入的配对文件是通过当前使用的 iOS 设备生成的(可通过检查配对文件名和设备的 UDID 是否匹配来验证)。
  • 导入的配对文件的内容未被其他软件修改。请不要用 QQ 传输,用 iTunes 或者 Airdrop!
  • “设置” App 中显示的当前勾选的 VPN 配置文件是 Jitterbug
  • 如果你使用 Windows 11,请在生成配对文件时使用“Power Shell” 而不是命令提示符
    若 Jitterbug 仍然提示这个问题,请尝试重新安装 Jitterbug,并重新生成配对文件。

2、无法导入开发者镜像文件(Developer Image)
确保以下事项:

  • Developer Image 必须解压至 "我的iPhone" 或 “我的iPad”路径下,不可位于其他 App 文件夹内或 iCloud 云盘中。

3、提示“ImageMountFailed”或“无法挂载镜像。”
确保以下事项:

  • 导入的开发者镜像文件与设备的 iOS 版本相匹配。
  • Jitterbug 自上次使用后需要重新开启(需要使用多任务界面手动关闭 Jitterbug)。
  • 若您确定版本一致,请尝试重启设备。

应用截图

8414801aa39d23523c32dadda215105a3788f691.png@942w_2040h_progressive.png