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! See my blog post for more info!
Features:
- Editor to update IPA without rebuilding!
- Builder that pushes to GitHub actions for building!
Warning
This is in very early stages. Please report bugs and be cautious!
- gh CLI (version 2.63.2 tested, other versions untested)
- git
- Download Python. Make sure to check the box that says "Add to PATH" if you're on Windows.
- Go to the path where you downloaded this repository.
- For Windows, go to the folder and press on the address bar. Then, type in cmd and press enter.
- For Linux, type
cd
and then the path you want in your terminal.
- Install dependencies with the commands below. Choose the one for your operating system.
Windows
python -m venv venv
source venv/bin/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 your key. 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
.env
file. Make sure to checkexample.env
for 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.
Build IPA:
- Follow the prompts.
Edit IPA:
- When exporting your Godot Project, choose "Export PCK/ZIP" and save it as
yourproject.pck
.
- 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.
If you get an AuthError('expired_access_token', None))
, that means that you need to get a new OAuth token from Dropbox.
- 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.