How to export a Godot Project to iOS without a Mac for free
Date: July 22, 2024
Modified: Apr 20, 2026
Author: mak448a
Ever wanted to export a Godot app or project to an iPhone IPA without owning a Mac or renting a Mac in the cloud? This guide is for you!
Please give my repository a star on GitHub if this helps!
Requirements
- GitHub CLI
- Git
- Python (3.12+)
- Godot Engine
Guide
- First, download Python, Git, and GitHub. Make sure to check the box that says “Add to PATH” when installing Python if you’re on Windows. Run this command if you want to install Git and GitHub on Windows:
winget install Git.Git GitHub.cli - Inside your project, go to
Project>Export...>Add..>iOSand set team and bundle identification. Since this project builds an unsigned IPA, you can put anything for the team. - Press
Export Projectand save it to a new folder. - Download build-ios with the following command.
git clone https://github.com/mak448a/build-ios --depth=1 - Change the current directory to build-ios with
cd build-ios - Install dependencies with the commands below. Choose the one for your operating system.
Windows (Run in command prompt)
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
Linux
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Visit https://www.dropbox.com/developers/apps to get a token for using with the tool.
You can name your app whatever you want, as long as it’s unique.

- Add
TOKEN=YOURKEYHERE(replace the token with your token) in the file.env. - Run the Python script!
python main.py - (Optional) If you want to skip writing in the questions every time you want to build, add the answeres to the
.envfile. Make sure to checkexample.envfor how to do this! - When you launch the CLI with
python main.py, it’ll prompt you to choose whether you want to build or edit an IPA. For the first time, choose build IPA.
Mode instructions
Build IPA:
- Follow the prompts. After it builds, you can download your IPA file from GitHub.
Edit IPA:
- When exporting your Godot Project, choose “Export PCK/ZIP” and save it as
yourproject.pck. The IPA file will be changed to include the new changes in the.pckfile.
But what’s the difference?
- Build IPA is for the first time you run the CLI. It makes a fresh build of your project.
- Edit IPA is for afterwards. You can export with the PCK only, and it’ll replace some of the files in the IPA. If you didn’t change any settings in
project.godot, it should work perfectly! If you did though, rebuild the IPA.
Troubleshooting
If you get an AuthError('expired_access_token', None)), that means that you need to get a new OAuth token from Dropbox.
If you still have problems, open an issue in this repository.
While you’re waiting, try following the original instructions.
Notes and credits
- Edit IPA function inspired by this article by RandomMomentania
- Started work on this project ~11/2024.
- Inspired by u/_atreat and u/Host127001 who suggested building with GitHub Actions.