NX2Apple

A macOS launcher and game library that builds and manages Mac, iPhone and iPad games. Since v1.0, iPhone and iPad use one shared shell with a game library, Cover Flow, controller and keyboard navigation, and per-game settings; the engine is packaged with releases and follows upstream daily.

Third-party

Checked 3 November 2026

Requirements

  • Apple Silicon Mac. The launcher opens on macOS 13+, but normal NVN builds still use the macOS 26.6+ toolchain. v1.0.1 expects Xcode 27.2; the launcher minimum is not the build minimum.
  • Bring your own game files and prod.keys. Python and most build tools are bundled; setup installs the remaining .NET SDK, and device builds also need the iOS SDK.

Get started

  1. Install the latest ARM64 release from Releases, complete setup, use Download repository and resolve any dependency checks.
  2. Choose a game folder, or select its base game, update, DLC and keys separately. Select This Mac, iPhone or iPad and start the build; interrupted builds can resume.
  3. Use Play in the Mac library. On iPhone or iPad, open the shared shell library. For v1.0.2 export, choose the shared IPA, or use the one-game option that embeds game data.
  4. The shared IPA contains no game data: transfer the data separately to the device or drive. A per-game IPA includes the data but uses its own bundle ID and save container.

Usage & troubleshooting

  • v1.0.1 identifies a game by the identity of its romfs.img, so the enclosing folder can be renamed. Old romfs.idx shard sets are obsolete and must be copied again in the current single-image format.
  • Launch options control language, frame rate, rendering and input per game. Console mode supports controller navigation; saves can sync through an iCloud Drive folder.
  • Exporting a shared IPA without a paired device or signing team is new in v1.0.2 and has not been tested end to end on a real, sideloaded app. Very large IPAs may fail at an unknown size limit; exported IPAs are unsigned.

Source documentation ↗

← Community tools and compatibility