Download and install nxnative
Get the source from the official repository, build your IPA on a Mac and install it on your iPhone or iPad. Every step is below.
Step 1. Download
nxnative-main.zip
Straight from github.com/seedds/nxnative. The project has no tagged releases, so this is the latest code.
Direct link: https://github.com/seedds/nxnative/archive/refs/heads/main.zip
You need a Mac to build the app
The build runs on macOS 26.6 or later. Windows and Linux cannot build the IPA. The finished app then installs on an iPhone 15 Pro or newer, or an iPad with an M1 chip or later. You also need your own game files and your own prod.keys; this site provides neither.
Check the requirements
| Item | You need |
|---|---|
| Mac | macOS 26.6 or later, Xcode 27.1 from Apple's download page (not the App Store; with its iOS platform for iPhone builds), Homebrew, an arm64 Python 3.12 or newer |
| Disk space | About twice the game's size plus 10 GB free. The first build takes 30 to 60 minutes. |
| Phone or tablet | iPhone 15 Pro or newer, or iPad with M1 or later, on iOS or iPadOS 26 or later |
| Your files | Your game (.nsp, .xci, .nsz or .xcz) with update and DLC, and prod.keys from your own console |
| Sideloading tool | AltStore, Sideloadly or LiveContainer |
Install the tools on your Mac (once)
Install Xcode 27.1 first, from Apple's download page, not the App Store. The shaders are built with its Metal compiler and the App Store may offer a newer Xcode. If a newer Xcode is installed too, rename 27.1 to Xcode-27.1.app and run sudo xcode-select -s /Applications/Xcode-27.1.app. Then open Terminal and run these commands. The third line clones the repository, so you can skip the zip if you prefer git.
xcodebuild -downloadComponent MetalToolchain
git clone https://github.com/seedds/nxnative.git && cd nxnative
brew install xcodegen zstd glslang
brew install --cask dotnet-sdk
python3 -m pip install lz4 "capstone>=5,<6" fonttools nsz zbic "backports.zstd; python_version < '3.14'"
Put your game in a folder
Put the game, plus its update and DLC if you have them, in one folder. The script reads the title ID from the package and falls back to the [title ID] in the file name. Look up your title ID on the games page to check that your game is supported.
~/Games/MarioWonder/
Super Mario Bros. Wonder [010015100B514000][v0].nsp
Super Mario Bros. Wonder [010015100B514800][v327680].nsp
Build the IPA
python3 scripts/build_ipa_from_nsp.py ~/Games/MarioWonder -k ~/keys/prod.keys
The IPA appears in the game's folder. Be patient: the first build takes 30 to 60 minutes, and building again is much faster. Useful options:
--platform mac-appbuilds a Mac app instead, to open from Finder.-l jaor-l Frenchsets the game language.--romfs separatemakes a smaller IPA for very large games. The script prints a command that copies the game files to your phone once.-p v0packs an older version. The folder still needs both NSPs.--no-keep-extracteddeletes the extracted game files after the build. They are kept by default.--work-dirputs the build folder on another drive.
Install the IPA on your iPhone or iPad
The IPA is unsigned, so a sideloading tool signs and installs it. The project names three tools:
- Pick a tool: AltStore, Sideloadly or LiveContainer, and set it up with its own instructions.
- Move the IPA to the device or open it in the tool, then install it.
- If the tool offers Increased Memory Limit, turn it on. The bigger games need it.
- If the game is too big to install, rebuild with
--romfs separateand run the command the script prints.
Details and tips are in the sideloading guide.
Open the app and play
- Open the app. A settings screen appears. Review it, or leave the tested defaults as they are.
- Tap Play. The first time a scene appears you may see a "Preparing shaders" bar and short stutters. This is normal and happens once per scene.
- Use the touch controls (tap 2D or 3D at the top to change the layout) or connect a game controller.
- Your saves are in the Files app under the game's name, in
save/.
How to use it: the short version
Settings
One screen sets frame rate, resolution, docked or handheld and language. Your choices are remembered.
Controls
Touch layouts in 2D or 3D, or a connected controller. DualSense and DualShock 4 add gyro.
Rumble
Uses the iPhone haptics or a compatible controller, with its own strength setting.
Saves and logs
In the Files app under the game name. Send log.txt when you report a problem.
Read the full how-to-use guide
Facts on this page were checked against the official nxnative commit bfc70881 (31 Oct 2026). The project changes often, so the official repository always wins.
Stay safe
Only trust nxnative files from the official repository. Wrapper apps and prebuilt IPAs from other sources are not reviewed by this site, so never give prod.keys to software you have not checked. Stuck? Open troubleshooting or the FAQ.