Exportation de macOS

Voir aussi

Cette page explique comment exporter un projet Godot vers macOS. Si vous cherchez à compiler l’éditeur ou les binaires du modèle d'exportation depuis le code source, voyez plutôt Compiler pour macOS.

macOS apps are exported as an .app bundle, a folder with a specific structure which stores the executable, libraries and all the project files. This bundle can be exported as is, packed in a ZIP archive or DMG disk image (only supported when exporting from a computer running macOS).

Pré-requis

  • To enable code signing with Apple Developer ID and notarization, you must export from a computer running macOS with Xcode command line tools installed.

  • La signature de code ad hoc est prise en charge sur toutes les plateformes, sans outils supplémentaires.

  • Téléchargez les modèles d'exportation Godot. Utilisez le menu Godot : Editor > Manage Export Templates.

  • Un Bundle identifier valide et unique doit être défini dans la section Application des options d'exportation.

Avertissement

Les projets exportés sans signature de code et sans notarisation seront bloqués par Gatekeeper s'ils sont téléchargés à partir de sources inconnues, voir la page Running Godot apps on macOS pour plus d'informations.

Signature et notarisation du code

By default, macOS will run only applications that are signed and notarized. If you use any other signing configuration, see Running Godot apps on macOS for workarounds.

To notarize an app, you must have a valid Apple Developer ID Certificate.

Si vous avez un Apple Developer ID Certificate

  • Export your project from a computer running macOS with Xcode command line tools installed.

  • Activez Code Signing, Notarization, Hardened Runtime et Timestamp et désactiver le droit Debug.

  • Fournissez des informations d'identification Apple ID et une identité de certificat valides.

Si Notarization est activé, Godot téléchargera automatiquement le projet exporté pour la notarisation.

Vous pouvez utiliser la commande xcrun notarytool history pour vérifier l'état de la notarisation et utiliser la commande xcrun notarytool log {ID} pour télécharger le journal de notarisation.

Si vous rencontrez des problèmes de notarisation, consultez Résolution des problèmes courants de notarisation pour plus d'informations.

Une fois la notarisation terminée, attachez le ticket au projet exporté.

Si vous ne disposez pas d'un Apple Developer ID Certificate

Keep Code Signing enabled and leave the Identity option empty (when exporting from a computer running macOS, on other platforms this option is hidden). In this case Godot will use a ad-hoc signature, which will make running an exported app easier for the end users, see the Running Godot apps on macOS page for more information.

Options de signature

Option

Description

Activer

Active la signature du code.

Identité

The "Full Name" or "Common Name" of the signing identity, store in the macOS keychain. 1 2

Horodatage

Demande à un serveur d'horodatage d'authentifier l'heure de la signature. Requis pour la notarisation. [2]

Environnement d'exécution Renforcé

Active le "Hardened Runtime". Requis pour la notarisation. [2]

Remplacer la signature existante

Remplace les signatures existantes des bibliothèques GDNative et des exécutables utilitaires intégrés.

Note

Pour authentifier une application, vous devez activer les fonctions Hardened Runtime et Timestamp.

Les options Hardened Runtime et Timestamp sont incompatibles avec la signature ad-hoc et seront ignorées.

1

Laissez l'option Identity vide pour utiliser une signature ad-hoc.

2(1,2,3)

Cette option est visible uniquement lors de l'exportation à partir d'un ordinateur fonctionnant sous macOS.

Options de notarisation

Option

Description

Activer

Active le téléchargement automatique pour la notarisation.

Nom Apple ID

Nom du compte Apple ID (adresse e-mail)

Mot de passe Apple ID

Mot de passe spécifique à l'application Apple ID. Voir Utilisation de mots de passe pour application pour activer l'authentification à deux facteurs et créer un mot de passe d'application.

Apple Team ID

Team ID, if your Apple ID belongs to multiple teams

Voir Notarisation des logiciels macOS avant distribution pour plus d'informations.

Note

La notarisation est prise en charge lors de l'exportation à partir d'un ordinateur fonctionnant sous macOS, ces options sont masquées sur les autres plateformes.

Permissions

Droits d'exécution renforcés

Les droits Hardened Runtime gèrent les options de sécurité et la politique d'accès aux ressources. Voir Hardened Runtime pour plus d'informations.

Droit

Description

Allow JIT Code Execution 3

Permet de créer une mémoire inscriptible et exécutable pour le code JIT. Si vous utilisez des modules complémentaires avec du code natif dynamique ou auto-modifiant, activez-les conformément à la documentation du module complémentaire.

Allow Unsigned Executable Memory 3

Permet de créer une mémoire inscriptible et exécutable sans restrictions JIT. Si vous utilisez des modules complémentaires avec du code natif dynamique ou auto-modifiant, activez-les conformément à la documentation du module complémentaire.

Allow DYLD Environment Variables 3

Permet à l'application d'utiliser les variables d'environnement du linker dynamique pour injecter du code. Si vous utilisez des modules complémentaires avec du code natif dynamique ou auto-modifiant, activez-les conformément à la documentation du module complémentaire.

Désactiver la validation des librairies

Permet à l'application de charger des bibliothèques et des frameworks arbitraires. Activez-la si vous utilisez les modules complémentaires GDNative et la signature ad hoc, ou si vous souhaitez prendre en charge les modules complémentaires externes fournis par l'utilisateur.

Entrée Audio

Activez cette option si vous avez besoin d'utiliser le microphone ou d'autres sources d'entrée audio. Si elle est activée, vous devez également fournir un message d'utilisation dans l'option privacy/microphone_usage_description.

Caméra

Activez si vous avez besoin d'utiliser la caméra, si c'est activé, vous devez également fournir un message d'utilisation dans l'option privacy/camera_usage_description.

Localisation

Activez cette option si vous avez besoin d'utiliser les informations de localisation des services de localisation. Si elle est activée, vous devez également fournir un message d'utilisation dans l'option privacy/location_usage_description.

Carnet d'Adresses

4 Enable to allow access contacts in the user's address book, if it's enabled you should also provide usage message in the privacy/address_book_usage_description option.

Calendrier

4 Enable to allow access to the user's calendar, if it's enabled you should also provide usage message in the privacy/calendar_usage_description option.

Bibliothèque photos

4 Enable to allow access to the user's Photos library, if it's enabled you should also provide usage message in the privacy/photos_library_usage_description option.

Événements Apple

4 Enable to allow app to send Apple events to other apps.

Débogage

5 You can temporarily enable this entitlement to use native debugger (GDB, LLDB) with the exported app. This entitlement should be disabled for production export.

3(1,2,3)

Les droits Autoriser l'exécution de code JIT, Autoriser la mémoire exécutable non signée et Autoriser les variables d'environnement DYLD sont toujours activés pour les exportations Godot Mono et ne sont pas visibles dans les options d'exportation.

4(1,2,3,4)

Ces fonctions ne sont pas prises en charge de base par Godot, ne les activez que si vous utilisez des modules complémentaires qui les nécessitent.

5

Pour authentifier une application, vous devez désactiver le droit Debugging.

Certificat de bac à sable (Sandbox)

L'App Sandbox restreint l'accès aux données, au réseau et aux périphériques de l'utilisateur. Les apps sandboxées ne peuvent pas accéder à la plupart du système de fichiers, ne peuvent pas utiliser les dialogues de fichiers personnalisés et exécuter des binaires (en utilisant OS.execute et OS.create_process) en dehors du bundle .app. Voir App Sandbox pour plus d'informations.

Note

Pour distribuer une application via l'App Store, vous devez activer l'App Sandbox.

Droit

Description

Activé

Active l'App Sandbox.

Serveur réseau

Activez cette option pour permettre à l'application d'écouter les connexions réseau entrantes.

Client réseau

Activez pour permettre à l'application d'établir des connexions réseau sortantes.

Périphérique USB

Activer pour permettre à l'application d'interagir avec les périphériques USB. Ce droit est nécessaire pour utiliser des contrôleurs filaires.

Périphérique Bluetooth

Activer pour permettre à l'application d'interagir avec les périphériques Bluetooth. Ce droit est nécessaire pour utiliser les contrôleurs sans fil.

Files Downloads 6

Autorise l'accès en lecture et écriture au dossier « Téléchargements » de l'utilisateur.

Files Pictures 6

Autorise l'accès en lecture et écriture au dossier « Photos » de l'utilisateur.

Files Music 6

Autorise l'accès en lecture et écriture au dossier « Musique » de l'utilisateur.

Files Movies 6

Autorise l'accès en lecture et écriture au dossier « Films » de l'utilisateur.

Files User Selected 6

Permet l'accès en lecture ou en écriture à un dossier arbitraire. Pour obtenir cet accès, l'utilisateur doit sélectionner un dossier dans la boîte de dialogue du fichier natif.

Helper Executable

Liste des exécutables d'aide à intégrer au paquet d'applications. Les applications sandboxées sont limitées à l'exécution de ces exécutables.

6(1,2,3,4,5)

Vous pouvez éventuellement fournir des messages d'utilisation pour divers dossiers dans les options privacy/*_folder_usage_description.

Vous pouvez remplacer les droits par défaut en sélectionnant le fichier des droits personnalisés. Dans ce cas, tous les autres droits sont ignorés.