Esportare un gioco Godot per iOS senza possedere un Mac
L’export iOS di Godot trasforma il tuo gioco in un progetto Xcode. Poi Xcode compila, firma e carica l’app, e Xcode gira solo su macOS. Abbiamo eseguito tutta la catena su GitHub Actions il 19 ottobre 2026, con Godot 4.7.2. Il passaggio di export ha funzionato anche su Windows e Linux. Il passaggio con Xcode ha richiesto il Mac.
Cosa dice la documentazione, e cosa abbiamo visto
La pagina iOS di Godot 4.7 dice che devi esportare da un Mac con Xcode installato. Nel nostro test, gli editor Windows e Linux hanno scritto comunque il progetto Xcode. Hanno stampato questo avviso e si sono fermati lì:
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.
Abbiamo copiato ogni progetto su un Mac e l’abbiamo compilato per dispositivo. Tutte e tre le build sono passate. Consideralo una scorciatoia testata, non una funzione ufficiale. Il nostro gioco di prova non aveva plugin né codice C#. Il sorgente di Godot dice che i progetti C# devono esportare per iOS da macOS.
Passo 1: export templates
L’esportatore ha bisogno degli export templates della tua versione esatta di Godot. Nell’editor, apri Editor, poi Manage Export Templates, e scaricali. Il file della 4.7.2 pesa circa 1,3 GB. Su un server senza schermo, decomprimi tu il .tpz. Queste sono le cartelle che abbiamo usato:
# 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
Passo 2: il preset di export iOS
Apri Project, poi Export, clicca Add e scegli iOS. Due campi sono obbligatori. App Store Team ID è il codice di 10 caratteri del tuo account Apple Developer, non il tuo nome. Bundle Identifier è l’ID della tua app, come com.example.mygame. Godot salva il preset in export_presets.cfg. Questa è la parte del nostro che contava:
# 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 dice a Godot di scrivere il progetto Xcode e fermarsi. Senza, Godot su un Mac esegue da solo xcodebuild per creare un archivio e un .ipa. Questo richiede una firma vera, quindi inizia con il solo progetto.
Passo 3: esportare da riga di comando
Il nome del preset va tra virgolette. Il percorso di output è relativo alla cartella che contiene project.godot.
godot --headless --path demo --export-release "iOS" export/GodotDemo.ipa
L’export ha richiesto circa 9 secondi su Linux e 21 su Windows. Ha scritto GodotDemo.xcodeproj, una cartella GodotDemo, il .pck con i dati del gioco e il motore come GodotDemo.xcframework.
Due errori ci sono costati un’esecuzione ciascuno:
- Senza icona del progetto, l’export fallisce con Invalid icon (icons/settings_58x58). Imposta un’icona in Project Settings.
- Senza import delle texture ETC2/ASTC, l’export fallisce con un messaggio vuoto di "configuration errors". Attiva Import ETC2 ASTC in Rendering, Textures, VRAM Compression.
Passo 4: compilare sul Mac
Fai push della cartella esportata su git, oppure copiala con scp. Sul Mac, questo la compila per dispositivo con la firma disattivata:
xcodebuild -project GodotDemo.xcodeproj -scheme GodotDemo \ -configuration Release -sdk iphoneos \ -destination 'generic/platform=iOS' \ -derivedDataPath build build CODE_SIGNING_ALLOWED=NO
Ha finito in meno di 25 secondi e ha creato un’app da 82 MB. Per pubblicarla, apri GodotDemo.xcodeproj in Xcode. Scegli il tuo team in Signing and Capabilities, poi scegli Product, poi Archive. La nostra guida alla pubblicazione copre l’upload.
Il problema del simulatore
Una normale build per il simulatore non è riuscita a fare il link. Il template ufficiale include la libreria del motore per il simulatore solo per Intel (x86_64). Su un Mac con Apple silicon, Xcode cerca arm64 e si ferma con questo errore:
Undefined symbols for architecture arm64: "_main", referenced from:
La build per x86_64 ha funzionato. L’app è poi partita nel simulatore iPhone 17 Pro tramite Rosetta e ha mostrato la nostra scena grigia vuota. La documentazione di Godot aggiunge che il simulatore supporta solo il renderer Compatibility.
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
Per velocità reale e input touch, prova su un telefono con TestFlight. Un Mac remoto non vede un iPhone collegato al tuo PC.
Un Mac per il passaggio con Xcode
Un pass giornaliero MacRun è un Mac mini M6 dedicato a $15, oppure $59 per una settimana. È installato Xcode 27.1, e Xcode 26.6 per i progetti più vecchi. Godot non è preinstallato. Hai i permessi di amministratore e Homebrew, quindi installi la versione che corrisponde al tuo editor. Lavori via SSH o con la condivisione schermo da Windows. Alla fine il Mac viene cancellato, quindi prima fai push del tuo lavoro. Per consigli sullo schermo, vedi Xcode da Windows.
Chi non dovrebbe noleggiare un Mac per questo
Se ti serve solo un controllo con una build senza firma, esegui i comandi qui sopra sui runner macOS di GitHub Actions. I nostri cinque job sono passati lì senza un Mac nostro. Codemagic dà ai singoli 500 minuti macOS M2 gratis al mese, secondo la sua pagina dei prezzi del 19 ottobre 2026. Se pubblichi ogni settimana per anni, un Mac usato può costare meno del noleggio. Noleggia quando ti serve Xcode aperto: errori di firma, il simulatore o un archivio da caricare.
Domande frequenti
Godot può esportare per iOS su Windows?
+
La documentazione di Godot dice di esportare da macOS. Nel nostro test di ottobre 2026, Godot 4.7.2 su Windows e Linux ha comunque scritto il progetto Xcode. Ha avvisato che il .ipa si può compilare solo su macOS. Poi un Mac l’ha compilato.
Mi serve un Mac per pubblicare un gioco Godot sull’App Store?
+
Sì, per l’ultimo passaggio. Xcode compila, firma e carica l’app, e Xcode gira solo su macOS. Un Mac a noleggio o un runner di CI macOS copre quel passaggio.
Cos’è l’App Store Team ID nell’export iOS di Godot?
+
È il codice di 10 caratteri del tuo team Apple Developer, come ABCDE12XYZ. Non è il tuo nome. La documentazione di Godot dice che lo trovi su developer.apple.com, accanto al tuo nome.
Perché la mia build Godot per il simulatore iOS fallisce con undefined symbol _main?
+
Nel nostro test il template ufficiale 4.7.2 aveva una libreria per il simulatore solo x86_64. Su un Mac con Apple silicon, aggiungi ARCHS=x86_64 al comando xcodebuild. L’app poi gira tramite Rosetta.
Dove vanno gli export templates di Godot su una macchina senza schermo?
+
Decomprimi il .tpz e rinomina la sua cartella templates con la versione, per esempio 4.7.2.stable. Su macOS mettila in ~/Library/Application Support/Godot/export_templates. Su Linux usa ~/.local/share/godot/export_templates.
Posso esportare un progetto Godot in C# per iOS da Windows?
+
No. Il codice sorgente di Godot blocca l’export iOS in C# sui sistemi diversi da macOS. Godot considera anche sperimentale il C# su iOS. Esporta i progetti C# sul Mac.