Ein Godot-Spiel nach iOS exportieren, ohne einen Mac zu besitzen
Der iOS-Export von Godot macht aus Ihrem Spiel ein Xcode-Projekt. Xcode baut, signiert und lädt die App dann hoch, und Xcode läuft nur unter macOS. Wir haben die ganze Kette am 19. Oktober 2026 auf GitHub Actions ausgeführt, mit Godot 4.7.2. Der Export lief auch unter Windows und Linux. Der Xcode-Schritt brauchte den Mac.
Was die Doku sagt, und was wir gesehen haben
Die iOS-Seite von Godot 4.7 sagt, dass Sie von einem Mac mit installiertem Xcode exportieren müssen. In unserem Test haben die Editoren unter Windows und Linux das Xcode-Projekt trotzdem geschrieben. Sie gaben diese Warnung aus und hörten dort auf:
WARNING: Xcode Build: .ipa can only be built on macOS. Leaving Xcode project without building the package. WARNING: Project export for preset "iOS" completed with warnings.
Wir haben jedes Projekt auf einen Mac kopiert und für ein Gerät gebaut. Alle drei Builds liefen durch. Betrachten Sie das als getestete Abkürzung, nicht als offizielle Funktion. Unser Testspiel hatte keine Plugins und keinen C#-Code. Laut Quellcode von Godot müssen C#-Projekte für iOS unter macOS exportiert werden.
Schritt 1: Export-Vorlagen
Der Exporter braucht die Export-Vorlagen für Ihre genaue Godot-Version. Öffnen Sie im Editor Editor, dann Manage Export Templates, und laden Sie sie herunter. Die Datei für 4.7.2 ist etwa 1,3 GB groß. Auf einem Server ohne Bildschirm entpacken Sie die .tpz selbst. Diese Ordner haben wir genutzt:
# macOS ~/Library/Application Support/Godot/export_templates/4.7.2.stable # Linux ~/.local/share/godot/export_templates/4.7.2.stable # Windows (Git Bash) $APPDATA/Godot/export_templates/4.7.2.stable
Schritt 2: das iOS-Export-Preset
Öffnen Sie Project, dann Export, klicken Sie auf Add und wählen Sie iOS. Zwei Felder sind Pflicht. App Store Team ID ist der Code mit 10 Zeichen aus Ihrem Apple-Developer-Konto, nicht Ihr Name. Bundle Identifier ist die ID Ihrer App, etwa com.example.mygame. Godot speichert das Preset in export_presets.cfg. Das ist der Teil unseres Presets, auf den es ankam:
# export_presets.cfg [preset.0] name="iOS" platform="iOS" runnable=true export_filter="all_resources" include_filter="" exclude_filter="" export_path="export/GodotDemo.ipa" [preset.0.options] application/app_store_team_id="ABCDE12XYZ" application/bundle_identifier="com.example.godotdemo" application/export_project_only=true # project.godot, two settings the export needed [application] config/icon="res://icon.svg" [rendering] textures/vram_compression/import_etc2_astc=true
Export Project Only sagt Godot, dass es das Xcode-Projekt schreiben und dann aufhören soll. Ohne diese Option führt Godot auf einem Mac selbst xcodebuild aus, um ein Archiv und eine .ipa zu erzeugen. Das braucht eine echte Signierung, also beginnen Sie nur mit dem Projekt.
Schritt 3: von der Kommandozeile exportieren
Der Name des Presets steht in Anführungszeichen. Der Ausgabepfad ist relativ zum Ordner, der project.godot enthält.
godot --headless --path demo --export-release "iOS" export/GodotDemo.ipa
Der Export dauerte unter Linux etwa 9 Sekunden und unter Windows 21. Er schrieb GodotDemo.xcodeproj, einen Ordner GodotDemo, die .pck mit Ihren Spieldaten und die Engine als GodotDemo.xcframework.
Zwei Fehler haben uns je einen Lauf gekostet:
- Ohne Projekt-Icon schlägt der Export mit Invalid icon (icons/settings_58x58) fehl. Setzen Sie ein Icon in den Project Settings.
- Ohne Texturimport für ETC2/ASTC schlägt der Export mit einer leeren Meldung "configuration errors" fehl. Schalten Sie Import ETC2 ASTC unter Rendering, Textures, VRAM Compression ein.
Schritt 4: auf dem Mac bauen
Pushen Sie den exportierten Ordner nach git oder kopieren Sie ihn mit scp. Auf dem Mac baut dieser Befehl ihn ohne Signierung für ein Gerät:
xcodebuild -project GodotDemo.xcodeproj -scheme GodotDemo \ -configuration Release -sdk iphoneos \ -destination 'generic/platform=iOS' \ -derivedDataPath build build CODE_SIGNING_ALLOWED=NO
Er war in weniger als 25 Sekunden fertig und erzeugte eine App mit 82 MB. Zum Ausliefern öffnen Sie GodotDemo.xcodeproj in Xcode. Wählen Sie Ihr Team unter Signing and Capabilities, dann Product, dann Archive. Unser Leitfaden zum Veröffentlichen erklärt den Upload.
Der Haken beim Simulator
Ein normaler Simulator-Build ließ sich nicht linken. Die offizielle Vorlage liefert ihre Engine-Bibliothek für den Simulator nur für Intel (x86_64). Auf einem Mac mit Apple Silicon sucht Xcode nach arm64 und bricht mit diesem Fehler ab:
Undefined symbols for architecture arm64: "_main", referenced from:
Der Build für x86_64 hat funktioniert. Die App lief dann über Rosetta im Simulator des iPhone 17 Pro und zeigte unsere leere graue Szene. Die Doku von Godot ergänzt, dass der Simulator nur den Compatibility-Renderer unterstützt.
xcodebuild -project GodotDemo.xcodeproj -scheme GodotDemo \ -configuration Release -sdk iphonesimulator \ -destination 'generic/platform=iOS Simulator' ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO \ -derivedDataPath build build CODE_SIGNING_ALLOWED=NO
Für echte Geschwindigkeit und Touch-Eingabe testen Sie mit TestFlight auf einem Telefon. Ein Remote-Mac sieht kein iPhone, das an Ihrem PC hängt.
Ein Mac für den Xcode-Schritt
Ein Tagespass von MacRun ist ein dedizierter M6 Mac mini für $15, oder $59 für eine Woche. Xcode 27.1 ist installiert, dazu Xcode 26.6 für ältere Projekte. Godot ist nicht vorinstalliert. Sie haben Admin-Rechte und Homebrew, also installieren Sie die Version, die zu Ihrem Editor passt. Sie arbeiten von Windows aus per SSH oder Bildschirmfreigabe. Der Mac wird am Ende gelöscht, also pushen Sie vorher Ihre Arbeit. Tipps zum Bildschirm finden Sie unter Xcode von Windows aus.
Wer dafür keinen Mac mieten sollte
Wenn Sie nur einen unsignierten Build prüfen wollen, führen Sie die Befehle oben auf macOS-Runnern von GitHub Actions aus. Unsere fünf Jobs liefen dort ohne eigenen Mac durch. Codemagic gibt Einzelpersonen 500 kostenlose Minuten auf macOS M2 im Monat, laut seiner Preisseite am 19. Oktober 2026. Wenn Sie jahrelang jede Woche ausliefern, kann ein gebrauchter Mac günstiger sein als Mieten. Mieten Sie, wenn Sie Xcode offen brauchen: bei Signierfehlern, für den Simulator oder für ein Archiv zum Hochladen.
Häufige Fragen
Kann Godot unter Windows nach iOS exportieren?
+
Laut Doku von Godot sollen Sie unter macOS exportieren. In unserem Test im Oktober 2026 hat Godot 4.7.2 unter Windows und Linux das Xcode-Projekt trotzdem geschrieben. Es warnte, dass die .ipa nur unter macOS gebaut werden kann. Ein Mac hat es dann gebaut.
Brauche ich einen Mac, um ein Godot-Spiel im App Store zu veröffentlichen?
+
Ja, für den letzten Schritt. Xcode baut, signiert und lädt die App hoch, und Xcode läuft nur unter macOS. Ein gemieteter Mac oder ein macOS-Runner für CI übernimmt diesen Schritt.
Was ist die App Store Team ID im iOS-Export von Godot?
+
Es ist der Code mit 10 Zeichen Ihres Teams im Apple Developer Program, etwa ABCDE12XYZ. Es ist nicht Ihr Name. Laut Doku von Godot finden Sie ihn auf developer.apple.com, neben Ihrem Namen.
Warum schlägt mein Simulator-Build von Godot mit undefined symbol _main fehl?
+
In unserem Test hatte die offizielle Vorlage 4.7.2 eine Simulator-Bibliothek nur für x86_64. Auf einem Mac mit Apple Silicon fügen Sie dem Befehl xcodebuild ARCHS=x86_64 hinzu. Die App läuft dann über Rosetta.
Wohin gehören die Export-Vorlagen von Godot auf einer Maschine ohne Bildschirm?
+
Entpacken Sie die .tpz und benennen Sie ihren Ordner templates nach der Version um, etwa 4.7.2.stable. Unter macOS legen Sie ihn in ~/Library/Application Support/Godot/export_templates. Unter Linux nehmen Sie ~/.local/share/godot/export_templates.
Kann ich ein Godot-Projekt mit C# von Windows aus nach iOS exportieren?
+
Nein. Der Quellcode von Godot sperrt den iOS-Export mit C# auf anderen Systemen als macOS. Godot nennt C# auf iOS außerdem experimentell. Exportieren Sie C#-Projekte auf dem Mac.