Tools to develop apps for iOS without a Mac with Godot Engine!
Ever wanted to stop hopping between your Mac and Windows/Linux PCs when developing an iOS Project? This is the project for you!
Features:
- Editor to update the .ipa file of your game without rebuilding!
- Uploader that pushes your game to GitHub actions for building!
Note
My blog post may have more up-to-date instructions!
Warning
I try my best to write code that works, but I may have accidentally included bugs. Please report any that you find and please be cautious!
- GitHub CLI (2.63.2 tested, other versions untested.)
- Git (2.50.1 tested)
- Python (3.12+)
- Godot Engine
-
First, download Python, Git, and GitHub CLI. 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 Python, Git, and GitHub CLI on Windows:
winget install Git.Git GitHub.cli Python.Python.3.13, then log into GitHub withgh auth login. -
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. -
Open a Terminal/Command Prompt and 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.txtLinux
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Visit https://www.dropbox.com/developers/apps to get your Dropbox token for use with the tool.
You can name your app whatever you want, as long as it's unique.

- Create the file
.envand addTOKEN=YOURKEYHERE(replace the token with your token) to it. - 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 answers 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.
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.
If you want to save your answers, you can edit .env with your DropBox token, GitHub username, repository name, and output file.
When the program asks you for a path, you can drag in a file into the terminal window.
Build IPA:
- Follow the prompts.
Edit IPA:
- When exporting your Godot Project, choose "Export PCK/ZIP" and save it as
yourproject.pck. Put it in the folder where you downloaded this program.
- Build IPA is for the first time you run the CLI. It makes a fresh build of your project.
- Edit IPA is for after the first build. After exporting the PCK, use this option to replace the PCK in the IPA. If you changed any settings in
project.godot, rebuild the IPA.
Your token is probably expired. Get a new OAuth token from Dropbox.
If you still have problems, check the other troubleshooting thread or open an issue in this repository! While you're waiting, try following the original instructions.
Did you add double quotes around the file path?
Did you place your pck file in the same directory as your ipa file?
- I don't collect any data from this project.
- This project uses GitHub and Dropbox. See the privacy policies for these services for more information.
- 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.