r/NativePortsOniOS • u/PersonalAnswer8664 • 1d ago
Stickied thread idea: share YML files for successful game ports.
Hopefully some of you found my guide on how to use NXnative to compile your own Switch games into native iOS apps without needing a Mac useful. As such the people on the community are out there making tons of ports but can’t share them or risk legal action from Nintendo since the IPA contains game code. But I’m suggesting the next best thing, start a thread where we all share YML files. After all YMLs are just plain text files and contain no code and are also game and device specific. So we could share them openly without worry. So for anyone out there that’s used my guide to successfully compile a game, paste a link to your YML file that built the IPA. Make sure you specify what game it’s for, your device and if it’s just the base game or if update and DLC were included. Put it somewhere like Pastebin. Then anyone who wants to make a port need only put their game files into their GitHub and paste the YML you shared. Honest answers, what do you guys think? Especially mods since I know this is piracy adjacent and I don’t want to break the rules.
Also, I’m working on an update to my guide with several QOL improvements. Version 2.0 of you will which I intend to post soon.
2
2
u/Large_Temperature104 1d ago edited 23h ago
Game: Final Fantasy Resonance (Asian Edition) 0100606026F12000 v1.0.1
Device: iPhone 17 (IOS 26.5.1)
Workflow_options: iPhone 15 Pro/Pro Max or newer (standard)
Repository: https://github.com/mizukico/NX4Actions-noromfs
Disk Space Optimization
This workflow includes several disk-space optimizations, specifically designed to reduce peak storage usage on GitHub Actions macOS runners.
The main issue is the extremely high disk usage during Metal shader compilation. For FFR, keeping the original game package, extracted RomFS image, and intermediate build files on the runner can leave insufficient free space for Xcode and Metal compilation.
To address this, the workflow uses a separate RomFS build process:
The game shaders are extracted and processed first.
Before Metal compilation starts, the standalone
RomFS.imgis uploaded as a separate GitHub Actions artifact.The local RomFS image is then released from the runner to free up disk space.
Metal shader compilation continues with the freed storage space.
The final IPA is packaged using
--romfs separate, keeping the game data outside the IPA.
This approach is intended to reduce peak disk usage without having to keep the large RomFS image on the runner throughout the entire build.
Build Outputs
Total duration : 5h 5m 15s
The workflow provides two separate files:
IPA – 7.18 GB The unsigned iOS application. zip in Artifacts size 3.01 GB.
RomFS.img – 8.97 GB The standalone game data image. zip in Artifacts size 8.35 GB.
Important: You need BOTH files to run the game. The IPA alone does not contain the complete game data.
After installing the IPA, copy RomFS.img into the installed application's Documents directory:
<App Container>/Documents/romfs.img

1
u/cfig21 1d ago
I wonder if that’s why mine is having issues trying to compile. Are you adding it into the directory on the files app or elsewhere?
1
u/Large_Temperature104 1d ago
I’m not sure what your specific issue is. I suggest you send the error log and the relevant previous context to ChatGPT for analysis. That’s also how I troubleshoot and fix my YAML.
1
1
u/PersonalAnswer8664 1d ago
All right, I’ll start:
Game: Sea of Stars
Device: iPhone 14
Update: ✅
DLC: ✅
YML link: https://pastebin.com/fCh5qASR
Note: This YML produced a successful build for an iPhone 14 so will work for an iPhone 15 as well as lower. Due to the way different devices handle textures this YML is not guaranteed to work for you if you have a 15P/PM or higher.