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.
Checking the stable version of the documentation...
Esportazione per macOS
Vedi anche
Questa pagina descrive come esportare un progetto Godot per macOS. Se si desidera invece compilare i binari dell'editor o dei modelli di esportazione dal codice sorgente, consultare Compilare per macOS.
Le app per macOS esportate con i modelli di esportazione ufficiali sono esportate come un singolo file binario "Universal 2" in formato .app, una cartella con una struttura specifica che contiene l'eseguibile, le librerie e tutti i file di progetto. È possibile esportare questo file così com'è, compresso in un archivio ZIP o in un'immagine disco DMG (supportata solo all'esportazione da macOS). I file binari universali per macOS supportano entrambe le architetture Intel x86_64 e ARM64 (Apple Silicon).
Avvertimento
A causa delle limitazioni del file system, i pacchetti .app esportati da Windows non hanno il flag executable e non funzioneranno su macOS. I progetti esportati come .zip non hanno questo problema. Per eseguire i pacchetti .app esportati da Windows su macOS, trasferisci il file .app su un dispositivo con macOS o Linux e usa il comando da terminale chmod +x {nome_eseguibile} per aggiungere il permesso executable. L'eseguibile principale, situato nella sottocartella Contents/MacOS/, così come gli eseguibili ausiliari opzionali nella sottocartella Contents/Helpers/, devono avere il permesso executable affinché il pacchetto .app sia valido.
Requisiti
Scarica i modelli di esportazione di Godot. Usa il menu di Godot:
Editor > Gestisci modelli di esportazione.È necessario impostare un
Bundle identifiervalido e univoco nella sezioneApplicationdelle opzioni di esportazione.
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.
Avvertimento
I progetti esportati senza firma del codice e autenticazione saranno bloccati da Gatekeeper se scaricati da sorgenti sconosciute. Consulta la pagina Esecuzione di app Godot su macOS per ulteriori informazioni.
Firma del codice e autorizzazione
Come predefinito, macOS eseguirà solo applicazioni firmate e autenticate. Se si utilizza un'altra configurazione di firma, consultare la documentazione Esecuzione di app Godot su macOS per trovare soluzioni alternative.
To notarize an app, you must have a valid Apple Developer ID Certificate.
Se hai un certificato Apple Developer ID e stai esportando da macOS
Install Xcode command line tools and open Xcode at least once or run the sudo xcodebuild -license accept command to accept license agreement.
To sign exported app
Select
Xcode codesignin theCode Signing > Codesignoption.Set valid Apple ID certificate identity (certificate "Common Name") in the
Code Signing > Identitysection.
To notarize exported app
Select
Xcode altoolin theNotarization > Notarizationoption.Disable the
Debuggingentitlement.Set valid Apple ID login / app. specific password or App Store Connect API UUID / Key in the
Notarizationsection.
You can use the xcrun notarytool history command to check notarization status and use the xcrun notarytool log {ID} command to download the notarization log.
If you encounter notarization issues, see Resolving common notarization issues for more info.
After notarization is completed, staple the ticket to the exported project.
Se hai un certificato Apple Developer ID e stai esportando da Linux o Windows
Installa PyOxidizer rcodesign e configura il percorso di rcodesign in Impostazioni dell'editor > Esporta > macOS > rcodesign.
To sign exported app
Seleziona
PyOxidizer rcodesignnell'opzioneFirma del codice > Codesign.Imposta un file valido di certificato PKCS #12 per Apple ID, e la relativa password, nella sezione
Firma del codice.
To notarize exported app
Select
PyOxidizer rcodesignin theNotarization > Notarizationoption.Disable the
Debuggingentitlement.Set valid App Store Connect API UUID / Key in the
Notarizationsection.
È possibile utilizzare il comando rcodesign notary-log per verificare lo stato dell'autenticazione.
After notarization is completed, use the rcodesign staple command to staple the ticket to the exported project.
If you do not have an Apple Developer ID Certificate
Seleziona
Built-in (ad-hoc only)nell'opzioneFirma del codice > Codesign.Select
Disabledin theNotarization > Notarizationoption.
In questo caso Godot utilizzerà una firma ad hoc, che faciliterà l'esecuzione di un'app esportata per gli utenti finali. Consulta Esecuzione di app Godot su macOS per ulteriori informazioni.
Opzioni di firma
Opzione |
Descrizione |
|---|---|
Firma del codice |
Strumento da utilizzare per firmare il codice. |
Identità |
Il "Nome completo" o "Nome comune" dell'identità firmataria, memorizzato nel keychain di macOS. [1] |
File del certificato |
Il file di certificato PKCS #12. [2] |
Password del certificato |
Password per il file di cerfiticato. [2] |
Opzioni personalizzate |
Array di argomenti della riga di comando passati allo strumento di firma del codice. |
Opzioni di autenticazione
Opzione |
Descrizione |
|---|---|
Autenticazione |
Strumento da utilizzare per l'autenticazione. |
Nome Apple ID |
Nome dell'account Apple ID (indirizzo e-mail) [3] |
Password Apple ID |
Password dell'ID Apple specifica per l'applicazione. Consulta Utilizzo delle password specifiche per le applicazioni per abilitare l'autenticazione a due fattori e creare una password per le applicazioni. [3] |
ID Apple Team |
ID Team ("Unità organizzativa"), se l'ID Apple appartiene a più team (facoltativo). [3] |
UUID API |
UUID di emittente dell'API dell'App Store Connect di Apple. |
Chiave API |
Chiave API dell'App Store Connect. |
Nota
Dovresti impostare Nome/Password ID Apple oppure UUID/Chiave API di App Store Connect.
Queste opzioni appaiono solo quando ci si autentica con Xcode altool.
Consultare Notarizing macOS Software Before Distribution per maggiori informazioni.
Permessi
Diritti di esecuzione rafforzati
I diritti di esecuzione rafforzati (Hardened Runtime) gestiscono le opzioni di sicurezza e i criteri di accesso alle risorse. Consultare Hardened Runtime per maggiori informazioni.
Diritto |
Descrizione |
|---|---|
Consenti l'esecuzione di codice JIT [4] |
Allows creating writable and executable memory for JIT code. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. |
Consenti memoria eseguibile non firmata [4] |
Allows creating writable and executable memory without JIT restrictions. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. |
Consenti variabili d'ambiente DYLD [4] |
Allows app to uss dynamic linker environment variables to inject code. If you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. |
Disabilita convalida libreria |
Allows app to load arbitrary libraries and frameworks. Enable it if you are using GDExtension add-ons or ad-hoc signing, or want to support user-provided external add-ons. |
Ingresso audio |
Abilita se hai bisogno di utilizzare il microfono o altre fonti di input audio, se è abilitato dovresti anche fornire un messaggio di utilizzo nell'opzione privacy/microphone_usage_description. |
Telecamera |
Abilita se hai bisogno di usare la fotocamera, se è abilitata dovresti anche fornire un messaggio di utilizzo nell'opzione privacy/camera_usage_description. |
Posizione |
Abilita se hai bisogno di usare le informazioni sulla posizione dai Servizi di localizzazione; se è abilitato, dovresti anche fornire un messaggio di utilizzo nell'opzione privacy/location_usage_description. |
Rubrica |
[5] Abilita per consentire l'accesso ai contatti nella rubrica dell'utente; se abilitato, dovresti anche fornire un messaggio di utilizzo nell'opzione privacy/address_book_usage_description. |
Calendari |
[5] Abilita per consentire l'accesso al calendario dell'utente, se abilitato dovresti anche fornire un messaggio di utilizzo nell'opzione privacy/calendar_usage_description. |
Libreria di foto |
[5] Abilita per consentire l'accesso alla libreria Foto dell'utente; se è abilitato, dovresti anche fornire un messaggio di utilizzo nell'opzione privacy/photos_library_usage_description. |
Eventi Apple |
[5] Abilita per consentire all'app di inviare eventi Apple ad altre app. |
Debugging |
[6] Puoi abilitare temporaneamente questo diritto per usare il debugger nativo (GDB, LLDB) con l'app esportata. Questo diritto dovrebbe essere disabilitato per l'esportazione in produzione. |
I diritti Consenti l'esecuzione di codice JIT, Consenti memoria eseguibile non firmata e Consenti variabili di ambiente DYLD sono sempre abilitati per le esportazioni Godot Mono e non sono visibili nelle opzioni di esportazione.
Queste funzionalità non sono supportate da Godot di subito: abilitarle solo se si utilizzano componenti aggiuntivi che le richiedono.
Per autenticare un'app, è necessario disattivare il diritto Debugging.
Diritto di App Sandbox
L'App Sandbox limita l'accesso ai dati utente, alla rete e ai dispositivi. Le applicazioni in sandbox non possono accedere alla maggior parte del file system, non possono utilizzare finestre di dialogo personalizzate per i file né eseguire file binari (tramite OS.execute e OS.create_process) fuori dal pacchetto .app. Consultare App Sandbox per ulteriori informazioni.
Nota
Per distribuire un'applicazione attraverso l'App Store, è necessario abilitare l'App Sandbox.
Diritto |
Descrizione |
|---|---|
Abilitato |
Abilita l'App Sandbox. |
Server di rete |
Abilita per consentire all'app di ascoltare le connessioni di rete in arrivo. |
Client di rete |
Abilita per consentire all'app di stabilire connessioni di rete in uscita. |
Dispositivo USB |
Abilita per consentire all'app di interagire con i dispositivi USB. Questo diritto è necessario per utilizzare i controller via cavo. |
Dispositivo Bluetooth |
Abilita per consentire all'app di interagire con i dispositivi Bluetooth. Questo diritto è necessario per utilizzare i controller wireless. |
Files Downloads [7] |
Consente l'accesso in lettura o scrittura alla cartella "Download" dell'utente. |
Files Pictures [7] |
Consente l'accesso in lettura o scrittura alla cartella "Immagini" dell'utente. |
Files Music [7] |
Consente l'accesso in lettura o scrittura alla cartella "Musica" dell'utente. |
Files Movies [7] |
Consente l'accesso in lettura o scrittura alla cartella "Film" dell'utente. |
Files User Selected [7] |
Consente l'accesso in lettura o scrittura a una cartella arbitraria. Per ottenere l'accesso, l'utente deve selezionare una cartella dalla finestra di dialogo nativa dei file. |
Eseguibile ausiliare |
Elenco di helper eseguibili da incorporare nel pacchetto dell'app. Le app in sandbox sono limitate a eseguire solo questi eseguibili. |
È possibile fornire facoltativamente messaggi di utilizzo per varie cartelle nelle opzioni privacy/*_folder_usage_description.
Nota
È possibile ignorare i diritti predefiniti selezionando il file dei diritti personalizzati; in questo caso tutti gli altri diritti saranno ignorati.
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.
Opzioni di esportazione |
Variabile d'ambiente |
|---|---|
Crittografia / Chiave crittografica |
|
Opzioni / Firma del codice / File del certificato |
|
Opzioni / Firma del codice / Password del certificato |
|
Opzioni / Firma del codice / Profilo di provisioning |
|
Opzioni / Autenticazione / UUID API |
|
Opzioni / Autenticazione / Chiave API |
|
Opzioni / Autenticazione / ID di chiave API |
|
Opzioni / Autenticazione / Nome Apple ID |
|
Opzioni / Autenticazione / Password Apple ID |
|
Opzioni di esportazione
È possibile trovare un elenco completo delle opzioni di esportazione disponibili nel riferimento alla classe EditorExportPlatformMacOS.