游戏 工具 在 iOS 上不越狱运行 DolphiniOS 模拟器 (支持 Wii/GameCube 游戏)

本教程未经允许严禁转载

准备​

  • 一台 Windows / Mac 电脑
  • iOS 设备 (iPhone / iPad / iPod touch)
  • 可用于传输数据的数据线

iOS 设备与系统兼容性​

  • iOS 11.4.1 及更低版本
    • 不支持,请更新到更新版本
  • iOS 12.0 ~ iOS 13.7
    • 需要 A9 或更新 CPU, 可直接签名安装 IPA, 或者使用 AltStore 自动续签安装
  • iOS 14.0 ~ iOS 14.1
    • 见下方完整教程
  • iOS 14.2 ~ iOS 14.3
    • A12 或更新 CPU 可直接签名安装 IPA, 或者使用 AltStore 自动续签安装
      • iPhone XS, XS Max, XR, 及更新版本
      • iPad Mini (第五代) 及更新版本
      • iPad Air (第三代) 及更新版本
      • iPad (第八代) 及更新版本
      • iPad Pro (第三代) 及更新版本
    • A11 或更旧 CPU
      • 见下方完整教程
  • iOS 14.4 及更新版本, 包括 iOS 15 所有版本
    • 见下方完整教程

教程​


注意: Windows 电脑需提前安装非 Microsoft Store 版 iCloud for Windows

Apple 官网下载 | SonicSpin 资源库下载

此外, 为方便后续操作, 请安装非 Microsoft Store 版 iTunes for Windows

Apple 官网下载 (64 位) | Apple 官网下载 (32 位) | SonicSpin 资源库下载 (64 位)

第一部分: 安装 AltStore​

1. 进入 AltStore 官网: https://altstore.io/ 下载最新版 AltServer,请根据系统自行选择版本

1650085167062.png

2. 通过数据线连接电脑后打开 iTunes (Windows/macOS Mojave 10.14 及更旧版本) 或者 Finder (macOS Catalina 10.15 及更新版本), 进入设备管理界面, 勾选 "接入 Wi-Fi 时显示 iPhone/iPad" 和 "连接此 iPhone/iPad 时自动同步", 勾选后点击 "应用"

1650086179984.png

3. 打开启动菜单 (Windows) /启动台 Launchpad (macOS) 启动 AltServer
1650086406596.png1650086495447.png

Windows 11 启动菜单 | 右 macOS Catalina 10.15 启动台

【Windows 用户额外步骤】选择 iCloud for Windows 安装路径

1650086731468.png

4. 任务栏/菜单栏点击 AltServer 图标, 点击 Install AltStore (安装 AltStore) > [你的 iOS 设备名称]

1650086850939.png

请稍等片刻, 保持网络连接顺畅并避免 iOS 设备熄屏

下载安装时间与网络连接速度有关

5. 哇哦,你的 iOS 设备桌面上出现了 AltStore~

别急!还没完!

1650087176596.jpg

6. 进入 iOS 设备的 设置>通用>___与设备管理>你的 iCloud 邮箱地址>点击信任

1650087540063.jpg

AltStore 安装步骤完毕

第二部分: 安装 DolphiniOS​


1. 在 iOS 设备上下载 DolphiniOS IPA 安装包

DolphiniOS 官网: https://dolphinios.oatmealdome.me/
DolphiniOS-NJB-Single-3.1.1-129.ipa SonicSpin 资源库下载

2. 打开 AltStore, 进入 My Apps, 点击左上角的 +, 选择你之前下载的 IPA 安装包

1650087662531.jpg1650087667631.jpg

3. 等待签名完成即可

  • 如果你是 iOS 14.2 ~ iOS 14.3 用户且 CPU 为 A12 及更新版本
    • 恭喜!你可以直接开玩了!
  • 如果其他 iOS 用户
    • 继续看下去吧!

额外步骤: 使用 libimobiledevice 运行应用从而绕过 JIT 限制​

Windows 用户:

1. 下载 libimobiledevice-win32

GitHub (国内访问.... 你懂的) | SonicSpin 资源库 (32位) | SonicSpin 资源库 (64位)

随意解压到一个目录, 稍后要用到

2. 连接你的 iOS 设备 (有线或者处于同一局域网下均可)
3. 打开解压 libimobiledevice-win32 的文件夹,右键点击 “在终端中打开"

1650088251078.png
1650088482977.png

如果你电脑没有该右键菜单选项, 请直接打开 CMD 输入 (效果相同)

代码:
cd 解压的目录

例如:

代码:
cd C:\Users\wroff\Downloads\libimobiledevice.1.2.1-r1122-win-x64

1650088507586.png

4. 获取 iOS 设备 UUID

在终端或者 CMD 中运行
代码:
.\idevice_id.exe

1650088587084.png

请复制括号前面的一串 UUID 并妥善保管

5. 下载 Xcode_Developer_Disk_Images

GitHub (国内访问.... 你懂的) | SonicSpin 资源库

如何选择版本? 进入 iOS 设备的 设置>通用>关于本机 查看系统版本

1650088861486.jpg

如果你的系统版本是 iOS 15.4.1,请选择 15.4.zip
其他版本同理

下载完毕后解压到一个目录 (注意整个压缩包都需要解压,DeveloperDiskImage.dmgDeveloperDiskImage.dmg.signature 必须在同一目录下

6. 挂载 Xcode_Developer_Disk_Images

在终端或 CMD 中运行

代码:
.\ideviceimagemounter.exe [DeveloperDiskImage.dmg的路径]

例如:

代码:
.\ideviceimagemounter.exe C:\Users\wroff\Downloads\15.4\DeveloperDiskImage.dmg

1650089185844.png

如果出现挂载错误,请重启 iOS 设备和你的电脑

7. 在 iOS 设备的 AltStore > MyApps 点击 View App IDs, 复制 "me.oatmealdome.DolphiniOS-njb." 之后的一串 PackageID

1650089349307.png

8. 最后一步

在终端或 CMD 中运行

代码:
./idevicedebug -u [UDID] -n --detach run [BundleID]

此处不作演示,如果成功的话你的 iOS 设备会自动打开 DolphiniOS, 好耶!

注意: 以后每次后台退出 DolphiniOS 时都需要重复这些额外步骤


Mac 用户和 Debian Linux 用户请见
https://jkcoxson.github.io/DiOS-Instructions/



1650089744224.jpg


顺便说一下,大多数索尼克游戏都可以在 SonicSpin 资源库找到: https://res.sonicspin.org/zh-CN/Sonic%20索尼克游戏资源/

:line-2020-02:
 
最后编辑:

_Wr_

站长
管理成员
2021/10/24
191
67
36
Shanghai, China
wrye.dev
金环
4,097

附上 BAT 快速启动脚本​


请记得把[[[ ]]]和里面的参数改为自己的

代码:
@echo off
echo Mount DolphiniOS Shell
echo=
echo Author: _Wr_
echo=
echo=
cd [[[libimobiledevice 解压路径]]]
echo Please Check Your Device UUID
.\idevice_id.exe
pause
.\ideviceimagemounter.exe [[[DeveloperDiskImage.dmg 路径]]]
.\idevicedebug -u [[[你设备的UUID]]] -n --detach run me.oatmealdome.DolphiniOS-njb.[[[应用PackageID]]]
pause

这个在同一局域网下真的超级好用
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
求问个问题,
直到ideviceimagemounter.exe [[[DeveloperDiskImage.dmg 路径]]]
都成功了,但是 idevicedebug 这一部出错,
错误提示:
Could not determine container path for bundle identifier MDL572G7Z8

在MD...之前加上me.oat...这一串域名,也会提示同样的错误。
win10工作站。itunes,icloud,爱思全齐,设备已从wifi被itunes连接,ipad pro 2018 系统15.4.1,跟站长一样的。
 
  • 点赞
反馈: _Wr_

_Wr_

站长
管理成员
2021/10/24
191
67
36
Shanghai, China
wrye.dev
金环
4,097
求问个问题,
直到ideviceimagemounter.exe [[[DeveloperDiskImage.dmg 路径]]]
都成功了,但是 idevicedebug 这一部出错,
错误提示:
Could not determine container path for bundle identifier MDL572G7Z8

在MD...之前加上me.oat...这一串域名,也会提示同样的错误。
win10工作站。itunes,icloud,爱思全齐,设备已从wifi被itunes连接,ipad pro 2018 系统15.4.1,跟站长一样的。
请问阁下 [[BundleID]] 此处确定替换成了 me.oatmealdome.DolphiniOS-njb.MDL572G7Z8 且一字不差??
另外您也可以尝试重连网络/有线连接/重启电脑进行进一步排查。
距离上一次折腾已经过去了两个月,在折腾的过程中许多坑自己也踩了许多坑,但是忘(lan)记(de)写(xie)在论坛这里了,很抱歉给您带来的麻烦。
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
请问阁下 [[BundleID]] 此处确定替换成了 me.oatmealdome.DolphiniOS-njb.MDL572G7Z8 且一字不差??
另外您也可以尝试重连网络/有线连接/重启电脑进行进一步排查。
距离上一次折腾已经过去了两个月,在折腾的过程中许多坑自己也踩了许多坑,但是忘(lan)记(de)写(xie)在论坛这里了,很抱歉给您带来的麻烦。
idevicedebug -u 00008027-000548562E11002E -n --detach run me.oatmealdome.DolphiniOS-njb.MDL572G7Z8
一字不差
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
UUID好像不是长这样的...
再运行一次 .\idevice_id.exe 试试
H:\libimobiledevice.1.2.1-r1122-win-x64>idevice_id
00008030-0018543434D9802E (USB)
00008027-000548562E11002E (USB)
00008027-000548562E11002E (Network)
 
  • 点赞
反馈: _Wr_

_Wr_

站长
管理成员
2021/10/24
191
67
36
Shanghai, China
wrye.dev
金环
4,097
H:\libimobiledevice.1.2.1-r1122-win-x64>idevice_id
00008030-0018543434D9802E (USB)
00008027-000548562E11002E (USB)
00008027-000548562E11002E (Network)
我在 GitHub Issues 上找到了类似的问题
如果阁下有问题的话我很乐意为您解释
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
我在 GitHub Issues 上找到了类似的问题
如果阁下有问题的话我很乐意为您解释
直接的git链接访问会很缓慢。
目标设备就是 00008027-000548562E11002E (Network),当时就只连了一个network
上面两个USB是后加的。设备一直处于解锁状态的
看看我还遗漏了什么
 

_Wr_

站长
管理成员
2021/10/24
191
67
36
Shanghai, China
wrye.dev
金环
4,097
直接的git链接访问会很缓慢。
目标设备就是 00008027-000548562E11002E (Network),当时就只连了一个network
上面两个USB是后加的。设备一直处于解锁状态的
看看我还遗漏了什么
GitHub 近期访问很慢也是无奈之举,毕竟(((
我帮您复制了一些该页面的文本,可供参考


@Dantee296 that UDID from system report confirms what i said about USB communication. device returns identifier without hyphen when directly asked trough usb. but when you talk with lockdown service (which is primary channel), you get id with hyphen.

usbmuxd can get udid from 2 sources ...

  1. direct USB request
  2. preflight communication with lockdown service
technically for pairing matters what lockdown service says, not what USB says, if USB identification request will say "thisisblueiphone" instead of UDID .... well you know, what i mean.

usbidentification matters only when lockdown service is not accessible (dfu mode for example), so you can distinguish between multiple devices.

although on windows, like on mac, usbmuxd communicates with apple mux service, which is installed with itunes ... so might be, that on windows, it has not been updated yet

I believe @mexmer is correct about the two sources - the serial number from the USB stack doesn't include the hyphen, whereas device itself (over lockdown) does use the hypen. What's annoying is that on Windows (using the Apple Mobile Device Service which ships with the latest version of iTunes), the list devices command (eg idevice_get_device_list) returns UDIDs without hyphen, but when connecting to a device (eg idevice_new), you need to specify the hyphen. It appears that on macOS, the list always includes a hyphen, and on Linux (with the open source usbmuxd) it does not. I will try to do some tests tomorrow. It would be good to get at least some cross-platform consistency in this :).
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
GitHub 近期访问很慢也是无奈之举,毕竟(((
我帮您复制了一些该页面的文本,可供参考


@Dantee296系统报告中的 UDID 证实了我所说的关于 USB 通信的内容。当直接通过 USB 询问时,设备返回不带连字符的标识符。但是当您与锁定服务(这是主要渠道)交谈时,您会得到带有连字符的 id。

usbmuxd 可以从 2 个来源获得 udid ...

  1. 直接 USB 请求
  2. 与锁定服务的飞行前通信
从技术上讲,对于配对而言,锁定服务所说的是什么,而不是 USB 所说的,如果 USB 识别请求会说“thisisblueiphone”而不是 UDID .... 你知道,我的意思。

usbidentification 仅在无法访问锁定服务(例如 dfu 模式)时才重要,因此您可以区分多个设备。

虽然在 windows 上,就像在 mac 上一样,usbmuxd 与苹果 mux 服务进行通信,该服务与 iTunes 一起安装......所以可能是,在 windows 上,它还没有更新
所以问题是UDID的格式?取消短横线么?
git的解释非常详尽,但是看起来很困难,我理解对了么
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
GitHub 近期访问很慢也是无奈之举,毕竟(((
我帮您复制了一些该页面的文本,可供参考


@Dantee296 that UDID from system report confirms what i said about USB communication. device returns identifier without hyphen when directly asked trough usb. but when you talk with lockdown service (which is primary channel), you get id with hyphen.

usbmuxd can get udid from 2 sources ...

  1. direct USB request
  2. preflight communication with lockdown service
technically for pairing matters what lockdown service says, not what USB says, if USB identification request will say "thisisblueiphone" instead of UDID .... well you know, what i mean.

usbidentification matters only when lockdown service is not accessible (dfu mode for example), so you can distinguish between multiple devices.

although on windows, like on mac, usbmuxd communicates with apple mux service, which is installed with itunes ... so might be, that on windows, it has not been updated yet

I believe @mexmer is correct about the two sources - the serial number from the USB stack doesn't include the hyphen, whereas device itself (over lockdown) does use the hypen. What's annoying is that on Windows (using the Apple Mobile Device Service which ships with the latest version of iTunes), the list devices command (eg idevice_get_device_list) returns UDIDs without hyphen, but when connecting to a device (eg idevice_new), you need to specify the hyphen. It appears that on macOS, the list always includes a hyphen, and on Linux (with the open source usbmuxd) it does not. I will try to do some tests tomorrow. It would be good to get at least some cross-platform consistency in this :).
问题不在UDID。
如果删除了短横线,命令就会提示No device found,加了短横线这里就对了。然后继续提示 run 后面的标志符找不到
 

_Wr_

站长
管理成员
2021/10/24
191
67
36
Shanghai, China
wrye.dev
金环
4,097
所以问题是UDID的格式?取消短横线么?
git的解释非常详尽,但是看起来很困难,我理解对了么
总之就是libimobiledevice无法通过Framework获取到您设备的UUID,本人也记得遇到过这种问题,我尝试过以下步骤
  • 尝试其他命令,如 idevice_id -l
  • 重连设备
  • 重启设备/电脑
  • 重装 iTunes 最新版
  • 保持设备解锁
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
总之就是libimobiledevice无法通过Framework获取到您设备的UUID,本人也记得遇到过这种问题,我尝试过以下步骤
  • 尝试其他命令,如 idevice_id -l
  • 重连设备
  • 重启设备/电脑
  • 重装 iTunes 最新版
  • 保持设备解锁
目前只剩重启电脑,只能晚点试,作为工作站不能随意重启
 

victor.cq

豆丁
2022/06/04
8
2
11
金环
131
总之就是libimobiledevice无法通过Framework获取到您设备的UUID,本人也记得遇到过这种问题,我尝试过以下步骤
  • 尝试其他命令,如 idevice_id -l
  • 重连设备
  • 重启设备/电脑
  • 重装 iTunes 最新版
  • 保持设备解锁
如此热心的站长很罕见,有更及时的社群可以加入么
 

egg606231

豆丁
2022/06/20
2
2
8
金环
60
可以跟您請問,目前有數天可以不要提示JIT 錯誤的方法嗎?(例如蘋果的越獄)
因以上方法或電腦認證我都可以過,但因在外時想要可以跟小朋友一起玩,卻總是又在提示需要JIT認證(可能離上次驗證才數小時)。
本身手機是iphone13無越獄,並且只是把模擬器縮小至後台,並無手動關閉。
 
  • Haha
反馈: _Wr_