Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Esportazione per iOS

Vedi anche

Questa pagina descrive come esportare un progetto Godot per iOS. Se si desidera invece compilare i binari dei modelli di esportazione dal codice sorgente, consultare Compilare per iOS.

Questi i passaggi necessari per caricare un progetto Godot in Xcode. Questo consente di compilare e distribuire su un dispositivo iOS, creare una versione per l'App Store e fare tutto ciò che normalmente si può fare con Xcode.

Attenzione

È possibile esportare i progetti scritti in C# per iOS a partire da Godot 4.2, ma il supporto è sperimentale e si applicano alcune limitazioni.

Requisiti

  • È necessario esportare per iOS da un computer macOS e con Xcode installato.

  • Scaricare i modelli di esportazione di Godot. Navigare al menu di Godot: Editor > Gestisci modelli di esportazione

Esportare un progetto Godot in Xcode

Nell'editor Godot, aprire la finestra Esporta dal menu Progetto. Quando si apre la finestra Esporta, cliccare su Aggiungi e selezionare iOS.

Le opzioni ID Team dell'App Store e Identificatore (di pacchetto) nella categoria Applicazione sono obbligatorie. Lasciarle vuote causerà un errore durante l'esportazione. L'ID pacchetto deve essere univoco.

Nota

Un ID pacchetto valido può contenere solo caratteri alfanumerici, trattini e punti (A-Z, a-z, 0-9, - e .). Apple consiglia di utilizzare il formato DNS inverso (ad esempio com.example.your-game) di un dominio proprio, in modo da garantire che l'ID pacchetto sia univoco. Gli ID pacchetto non fanno distinzione tra maiuscole e minuscole. Consultare CFBundleIdentifier.

Nota

Se durante l'esportazione si verifica un errore simile a
JSON text did not start with array or object and option to allow fragments not set
potrebbe essere dovuto a un ID Team dell'App Store malformato!
L'esportatore si aspetta un codice (lungo 10 caratteri) come ABCDE12XYZ e non, ad esempio, il proprio nome, poiché Xcode preferisce visualizzarlo nella scheda Signing & Capabilities.
Il codice si può trovare su developer.apple.com accanto al proprio nome nell'angolo in alto a destra.

Dopo aver cliccato su Esporta progetto, restano ancora due opzioni importanti:

  • Percorso è una cartella vuota che conterrà i file esportati del progetto Xcode.

  • File sarà il nome del progetto Xcode e di diversi file e cartelle specifici del progetto.

../../_images/ios_export_file.webp

Nota

Questo tutorial usa exported_xcode_project_name, ma si dovrebbe usare il nome del proprio progetto. Quando exported_xcode_project_name è mostrato nei passaggi successivi, sostituirlo con il proprio nome già usato.

Nota

Evitare di usare spazi quando si sceglie il proprio exported_xcode_project_name perché ciò potrebbe danneggiare il file del progetto XCode.

Una volta completata l'esportazione, la cartella di output dovrebbe apparire così:

../../_images/ios_export_output.webp

Avvertimento

Il simulatore iOS supporta solo il renderer Compatibility.

I Mac con processori Apple Silicon possono eseguire app iOS nativamente, quindi è possibile eseguire progetti iOS esportati direttamente su un Mac con processore Apple senza le limitazioni di un simulatore iOS.

Aprire exported_xcode_project_name.xcodeproj consente di compilare e distribuire come qualsiasi altra app iOS.

Considerazioni sullo sviluppo attivo

Il metodo qui sopra crea un progetto esportato che è possibile compilare per il rilascio, ma è necessario riesportarlo ogni volta che si apporta una modifica in Godot.

Durante lo sviluppo, è possibile velocizzare questo processo collegando direttamente i file del progetto Godot alla propria applicazione.

Nell'esempio seguente:

  • exported_xcode_project_name è il nome dell'applicazione iOS esportata (come sopra).

  • godot_project_to_export è il nome del progetto Godot.

Nota

godot_project_to_export non deve essere uguale a exported_xcode_project_name per evitare problemi di firma in Xcode.

Plugin per iOS

È possibile utilizzare plugin speciali di iOS in Godot. Consulta la pagina Creare estensioni per iOS.

Variabili d'ambiente

È possibile utilizzare le seguenti variabili d'ambiente per impostare le opzioni di esportazione al di fuori dell'editor. Durante il processo di esportazione, queste variabili sovrascrivono i valori impostati nel menu di esportazione.

iOS export environment variables

Opzioni di esportazione

Variabile d'ambiente

Crittografia / Chiave crittografica

GODOT_SCRIPT_ENCRYPTION_KEY

Opzioni / Applicazione / UUID del profilo di provisioning di debug

GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG

Opzioni / Applicazione / UUID del profilo di provisioning di rilascio

GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE

Risoluzione dei problemi

xcode-select indica la posizione sbagliata degli SDK

xcode-select è uno strumento incluso in Xcode che, tra le altre cose, indica la posizione degli SDK di iOS sul tuo Mac. Se hai installato Xcode, lo hai aperto, hai accettato il contratto di licenza e hai installato gli strumenti da riga di comando, xcode-select dovrebbe indicare la posizione corretta per l'SDK di iPhone. Se per qualche motivo non lo fa, Godot non riuscirà a esportare per iOS e visualizzerà un errore simile a questo:

MSB3073: The command ""clang" <LOTS OF PATHS AND COMMAND LINE ARGUMENTS HERE>
"/Library/Developer/CommandLineTools/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"" exited with code 1.

In questo caso, Godot sta cercando la cartella Platforms contenente l'SDK di iPhone all'interno della cartella /Library/Developer/CommandLineTools/, ma la cartella Platforms con l'SDK di iPhone si trova in realtà in /Applications/Xcode.app/Contents/Developer. Per verificarlo, puoi aprire il Terminale ed eseguire il seguente comando per vedere quale percorso xcode-select sta indicando:

xcode-select -p

Per correggere l'indicazione errata di xcode-select, inserisci questo comando nel Terminale:

sudo xcode-select -switch /Applications/Xcode.app

Dopo aver eseguito questo comando, Godot dovrebbe essere in grado di esportare correttamente per iOS.

Opzioni di esportazione

È possibile trovare un elenco completo delle opzioni di esportazione disponibili nel riferimento alla classe EditorExportPlatformIOS.