d2r-mobile build workflow
Build iOS and macOS apps from d2r-mobile source with GitHub Actions. Each run defaults to the latest official upstream Release and publishes to your private repository.
Configure and build
-
Click Use this template and create a Private repository.
-
In Actions, select Build IPA (iOS) or Build macOS, click Run workflow, and paste the JSON for your platform into
prepared_input:Build IPA (iOS)
{ "url": "https://ipfs.filebase.io/ipns/k51qzi5uqu5dkbfnqcjbd6jlgbckojtl4gu7m1kgu8esex1zg4oo485o5cjop2/D2RMobile-Prepared.zip", "sha256_url": "https://ipfs.filebase.io/ipns/k51qzi5uqu5dkbfnqcjbd6jlgbckojtl4gu7m1kgu8esex1zg4oo485o5cjop2/Prepared-SHA256SUMS.txt" }Build macOS
{ "url": "https://ipfs.filebase.io/ipfs/bafybeihkvz24tivc4hqtlruqlagtrtgcanuzj3o4fgrfjgolxui4hzvni4/D2RMobile-MacPrepared.zip", "sha256_url": "https://ipfs.filebase.io/ipfs/bafybeihkvz24tivc4hqtlruqlagtrtgcanuzj3o4fgrfjgolxui4hzvni4/MacPrepared-SHA256SUMS.txt" }The prepared packages in this configuration are provided by community contributors: approximately 290 MB for iOS and 299 MB for macOS.
-
Click Run workflow to start the build. Downloading, compiling, packaging and publishing typically takes about 6 minutes for iOS or 7 minutes for macOS.
- Run with the defaults to compile the latest official upstream Release.
- To test development code, set
source_reftomain, another branch, a tag, or a commit. - To test your changes, set
source_repositoryto your fork andsource_refto its branch. For private source repositories, add aSOURCE_TOKENSecret with Contents read access to that repository.
The build entry automatically uses this project's latest build logic. Repeated builds and reruns of the same upstream version each receive independent Release and file names.
To prepare your own inputs, see Generate an iOS prepared package or Generate a macOS prepared package.
Download and use on iOS
After the build, download from your repository’s Releases:
| File | Purpose |
|---|---|
D2RMobile-<version>-build.<run>.<attempt>.ipa |
iOS 26 and later |
D2RMobile-<version>-build.<run>.<attempt>-ios18.ipa |
iOS 18–25 |
SHA256SUMS.txt, build-report.json |
Checksums and build details |
Download the community-provided game resources (Data and Legacy):
| Package | Download size | Purpose |
|---|---|---|
D2R-Mobile-Resources.zip.001, .002, .003 |
5.42 GB total | Data required on every supported device; contains the D2R Mobile Resources folder with 18 .data files |
Legacy-Device-Pack.zip |
1.02 GB | Additional textures for A14–A16 devices; contains the Legacy Device Pack folder |
-
Sign and install the IPA with Sideloadly, iloader, AltStore Classic, or SideStore, then open the app once.
-
Download matching Data from the link above. For split archives, download all
.001,.002, and.003parts and open.001with an extractor supporting split archives. Copy the entire extractedD2R Mobile Resourcesfolder to Files → On My iPhone → D2R Mobile. Alternatively, connect to a Mac and drag the folder into the app under Finder → your iPhone → Files. -
A14–A16 devices also need
Legacy-Device-Pack.zipfrom the same link. Extract it and import the entireLegacy Device Packfolder beside the resource folder. A17 Pro and newer devices and M-series iPads use the standard Data.Under Files → On My iPhone → D2R Mobile, the two folders should be at the same level:
D2R Mobile/ ├── D2R Mobile Resources/ └── Legacy Device Pack/ -
Return to the app after copying. If the resource prompt is still shown, tap Retry; the app automatically detects and loads the resources. The IPA includes precompiled Metal shaders.
Device requirements: A14 / M1 or newer, with at least 6 GB of memory.
In LiveContainer on an M1 iPad, if opening the character-name keyboard crashes the app, try the -ios18.ipa variant, which also runs on iPadOS 26 and later.
Update the IPA
Run Build IPA again to build the latest official upstream Release. Back up saves, keep the app identifier unchanged, and install over the existing app. Previously imported matching Data and Legacy resources remain reusable.
Reuse your existing prepared input configuration when updating. If the workflow asks for a newer prepared package, update prepared_input and run it again.
Download and use on macOS
Run Build macOS with the macOS JSON configuration above. After the build, download the ZIP matching your Mac from your repository’s Releases:
| File | Purpose |
|---|---|
D2RMobile-<version>-build.<run>.<attempt>-macos26.zip |
Apple silicon Macs running macOS 26 or later; contains D2R Mobile.app |
D2RMobile-<version>-build.<run>.<attempt>-macos15.zip |
Apple silicon Macs running macOS 15–25; contains D2R Mobile M3.app |
Mac-SHA256SUMS.txt, macos-build-report.json |
Checksums and build details |
- Extract the ZIP and drag the
.appinto Applications. - Download Data from the game resource folder. Download all three split parts and open
.001to extract the entireD2R Mobile Resourcesfolder. Keep it in a stable location, such as your Games folder. Existing iOS Data can be reused here. - Open the app from Applications. If macOS blocks it because the developer cannot be verified, open System Settings → Privacy & Security → Open Anyway, then confirm Open. See Apple’s instructions for opening an app you trust.
- When the app asks for resources, select the entire
D2R Mobile Resourcesfolder containingdata. The app remembers this location. Metal shaders are included precompiled.
Update the macOS app
Run Build macOS again with the macOS JSON configuration to build the latest official upstream Release. Quit the app and back up saves, then download and extract the ZIP for the same macOS 26 or macOS 15 app variant. Replace the existing .app in Applications with the new one.
Keep the resource folder in the same location. Existing Data can be reused while the game resource version remains unchanged. The macOS 15 app uses its own save directory and can coexist with the macOS 26 app.
Reuse your existing Mac prepared input configuration when updating. If the workflow asks for a newer Mac prepared package, update prepared_input and run it again.