先说个前提,免得你白高兴一场:这个方案不能给你提供游戏,游戏必须是你自己买的。
GitHub 上的开源项目 d2r-mobile,能把你自己手里的 Switch 版《暗黑破坏神 II:狱火重生》连同「术士君临」资料片,装到 iPhone 和 iPad 上离线玩。项目是 MIT 协议开源,仓库里不含任何游戏内容——游戏程序、美术、文本、数据表,全部要你自己用自己机器上的文件生成。
网上已经有人在流传「打包好的 IPA + 5.4GB 游戏数据」,那是侵权分发,我不会在本文提供任何这类资源。下面写的是正规路线:自己买游戏、自己提取、自己构建。
一、它不是模拟器
这点很重要,也是它跑得这么快的原因。
iPhone 和 Switch 用的是同一类 ARM 处理器,能执行同一套机器指令。所以这个项目没走模拟器的路子——游戏的原程序直接在手机芯片上执行,只改写了极少数在苹果系统下无法原样运行的指令(涉及线程寄存器、系统调用和定时器),其余部分逐字节保持原样。
图形部分在苹果的 Metal 接口上重新实现,着色器(负责渲染的小程序)提前从游戏原版离线翻译好,进游戏时不需要现场编译。
直观的区别:模拟器要在游戏和硬件之间加一层实时翻译,这里没有这一层。所以职业、符文之语、掉落规则、任务流程,全部和 Switch 原版一致——因为它跑的就是原版程序。
二、先确认你的设备够不够格
| 设备 | 能不能玩 | 说明 |
|---|---|---|
| iPhone 15 Pro 及以后 / M 系列 iPad | 能 | 主力设备,A17 Pro 起步体验最好 |
| iPhone 14 全系、iPhone 15 / 15 Plus | 能,需额外一步 | 需要自己制作纹理包(见下文第四步) |
| iPhone 13 系列 | 勉强 | A15 芯片,30fps 模式下可玩 |
| 4GB 内存设备(如 iPad Air 4) | 不行 | 启动几秒后会因内存不足被系统杀掉 |
| iPhone 11 系列、2020 款 iPad Pro | 不行 | 图形芯片不支持 Metal 3,App 会直接提示 |
硬性门槛:芯片最低 A14 / M1(图形层需要 Metal 3),内存至少 6GB。
实测性能(iPhone 17 Pro Max):稳定 60fps,主菜单进游戏约 1 秒,整机功耗约 3.8W——满电大约能连玩 5 小时。开省电模式降到 30fps,功耗约 1.85W,续航翻倍。
三、你需要准备什么
游戏
- Switch 版《暗黑破坏神 II:狱火重生》本体 +「术士君临」资料片
- 游戏版本更新到 1.0.34.0(对应 PC 版 3.3.94012)
- 没有资料片的版本不支持,作者也没测过
Apple 账号
- 付费开发者账号:功能最全,支持 iCloud 存档同步
- 免费 Apple ID:也能用,但没有 iCloud 同步,且 App 每 7 天要重新签名安装一次
电脑:看下面两条路线
四、两条安装路线,按你手头的电脑选
路线 A:有 Apple 芯片的 Mac(推荐)
需要安装 Xcode。全程三步:
第一步,把游戏文件放到位
在 Mac 上建立工作目录(默认 ~/dm-work),把从自己游戏里提取的文件按这个结构放好:
~/dm-work/data/switch/3.3.94012/Update/ExeFS/ main、sdk、subsdk0
~/dm-work/data/switch/3.3.94012/Update/RomFS/ data/…如果你手上是完整的 .xci / .nsp 包,先装 hactool,然后直接让脚本帮你提取:
./setup.sh <游戏包路径> <prod.keys路径>第二步,准备工作区
./setup.sh
source ~/dm-work/build/cache/dm/venv/bin/activatesetup.sh 会检查工具、重写游戏程序、把着色器翻译成 Metal 格式。第一次跑比较慢,之后会跳过已完成的步骤。
跑完不确定有没有问题的话,可以先用 ./setup.sh check 做个健康检查——它会逐项报告电脑、工具、游戏文件和签名配置的状态,只读不改。
第三步,填签名信息并构建
cp dm/ios/local.env.example dm/ios/local.env在 dm/ios/local.env 里填 DM_TEAM_ID 和 DM_BUNDLE_ID。如果用的是免费 Apple ID,还要加两行:
DM_FREE_ACCOUNT=1
DM_IOS_UDID=你的设备UDID构建时保持手机连着电脑。然后:
cd dm/ios && ./run.sh build默认同时构建 iPhone 和 iPad 版本。只要 iPhone 的话:DM_DEVICE_FAMILY=1 ./run.sh build。
顺带一提:同样跑完 setup.sh 之后,还能一条命令构建出 Mac 上直接双击运行的原生 App,不需要开发者账号:
dm/tools/mac_app.sh路线 B:没有 Mac
Windows 或 Linux 都能走这条路,不需要 Xcode。
- 从项目 Releases 页面下载预编译的 shell 包(
D2RMobile-shell-build-input.zip;iOS 18~25 用D2RMobile-shell-ios18-build-input.zip)。这个 shell 不含任何游戏内容 - 加入你自己的游戏文件,在 Windows 或 Linux 上打包成安装包
- 用侧载工具(Sideloadly、AltStore 等)签名安装到手机
注意两点:shell 是构建用的输入文件,不是能直接装的 App;这条路线的包因为没有 Apple 的着色器编译器,首次启动要在手机上花约 7 分钟编译着色器(带进度条,一次性)。走路线 A 的包没有这一步。
五、游戏文件从哪来
项目文档 docs/GAME_FILES.md 专门写了要哪些文件、怎么从你自己的主机取、放在哪里。
用 hactool 之类的工具从自己的 Switch 提取,工具只检查主程序版本,不区分 .xci 还是 .nsp 封装格式。
这一步对普通玩家确实有门槛,需要你自己的 Switch 已经做过相应准备。具体操作请以项目文档为准——我只能告诉你需要 ExeFS 下的 main、sdk、subsdk0 和 RomFS/data/ 这些内容。
A16 及更早的设备(iPhone 14 系列、iPhone 15 / 15 Plus):游戏原版的压缩纹理格式不被支持,需要用你自己的游戏文件额外制作一个纹理包(Legacy Device Pack,见 docs/LEGACY_DEVICES.md),做好后一样能满帧运行。
六、首次启动
App 第一次打开会要求你选择「game resource folder」——就是从你游戏文件里整理出来的 18 个资源归档,需要单独放到手机上。
之后:
- 路线 A 的包:直接进游戏
- 路线 B 的包:等着色器编译,iPhone 17 Pro Max 上大约 6 分钟,之后不再需要
安装包本身只有 100MB 出头,游戏资源约 5.6GB 单独存放——更新 App 不会影响你的存档和资源。
七、触控操作
这不是把手柄布局硬贴到屏幕上。作者的原则是:保留原版界面语言,用手势代替往屏幕上堆按钮。
- 移动:虚拟摇杆支持精确斜向;点 NPC 或地面自动寻路;门、传送门、洞穴入口整片都能点
- 战斗:按技能键施放,按住持续施放,拖动可瞄准任意角度;附近怪物自动锁定
- 副手技能:一键施放,游戏自动换武器、施法、换回来,按钮显示剩余次数
- 物品:双击装备/卸下;把物品拖到商人面板任意位置即出售;堆叠物品双击取 1 个、长按取 3 个;长按空格一键整理背包
- Boss 血条:固定在屏幕顶部显示剩余百分比
- 手柄:连上手柄按任意键会切成原版手柄布局,摸一下屏幕就切回触控
八、避坑清单
| 坑 | 说明 |
|---|---|
| 游戏版本 | 必须是 1.0.34.0 且含术士君临资料片,少了资料片不支持 |
| 免费 Apple ID | 每 7 天要重新签名安装,且没有 iCloud 存档同步 |
| 旧芯片 | A16 及更早必须做 Legacy Device Pack,否则纹理有问题 |
| 内存不足 | 4GB 内存设备跑不起来,别在这上面浪费时间 |
| 着色器编译 | 无 Mac 路线首次启动要等 6~7 分钟,别以为是卡死了 |
| App 更新 | 换新版本要重新构建安装包,但存档和资源不用动 |
| 侵权资源 | 网上的「打包版 IPA + 游戏数据」是侵权分发,且有安全风险 |
九、几点实话
第一,门槛比想象中高。 项目文档写得很清楚,但「从自己 Switch 提取游戏文件」这一步就会劝退大部分人。加上要 Mac + Xcode(或走无 Mac 打包 + 侧载),这不是一个「下载装上就能玩」的东西。
第二,它确实快。 因为不是模拟器,60fps 稳定、功耗只有 3.8W,这两点是模拟器方案比不了的。作者还做了完整的指令等价性校验和回归测试,工程质量在线。
第三,法律边界要清楚。 项目与暴雪、任天堂没有任何关联,也不被它们认可,只能配合你自己拥有的正版游戏使用。游戏完全离线运行,没有联机,也不需要登录任何账号。
说白了:适合手上有正版、电脑环境齐全、又想在手机上躺着刷牛场的人。如果你只是想找个免费的暗黑2手机版,这条路大概率不适合你。
项目地址:github.com/jhaizhou-ops/d2r-mobile(MIT 协议)


