Exporter pour macOS¶
Voir aussi
This page describes how to export a Godot project to macOS. If you're looking to compile editor or export template binaries from source instead, read Compiler pour macOS.
Les apps macOS sont exportées sous forme d'un ensemble .app
, un dossier à la structure spécifique qui stocke l'exécutable, les bibliothèques et tous les fichiers du projet. Cette ensemble est emballé dans une archive ZIP ou une image disque DMG (uniquement pris en charge lors de l'exportation pour macOS).
Pré-requis¶
Pour activer la signature du code et la notarisation, vous devez exporter à partir d'un ordinateur fonctionnant sous macOS avec les outils de ligne de commande Xcode installés.
Téléchargez les modèles d'exportation Godot. Utilisez le menu Godot :
Editor > Manage Export Templates
.
Avertissement
Projects exported without code signing and notarization will be blocked by Gatekeeper if they are downloaded from unknown sources, see the Running Godot apps on macOS page for more information.
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.
Pour notariser une application, vous devez disposer d'un Apple Developer ID Certificate valide.
Si vous avez un Apple Developer ID Certificate¶
Activez
Code Signing
,Notarization
,Hardened Runtime
etTimestamp
et désactiver le droitDebug
.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¶
Gardez l'option Code Signing
activée et laissez l'option Identity
vide, dans ce cas Godot utilisera une signature ad-hoc, ce qui facilitera l'exécution d'une application exportée pour les utilisateurs finaux.
Options de signature¶
Option |
Description |
---|---|
Activer |
Active la signature du code. |
Identity |
Le "Full Name" ou "Common Name" de l'identité de signature, stocké dans la key chain macOS. 1 |
Timestamp |
Demande à un serveur d'horodatage d'authentifier l'heure de la signature. Requis pour la notarisation. |
Hardened Runtime |
Active le "Hardened Runtime". Requis pour la notarisation. |
Replace Existing Signature |
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
.
- 1
Laissez l'option
Identity
vide pour utiliser une signature ad-hoc.
Options de notarisation¶
Option |
Description |
---|---|
Activer |
Active le téléchargement automatique pour la notarisation. |
Apple ID Name |
Nom du compte Apple ID (adresse e-mail) |
Apple ID Password |
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 |
ID d'équipe, si votre ID Apple appartient à plusieurs équipes |
Voir Notarisation des logiciels macOS avant distribution pour plus d'informations.
Droits¶
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 |
---|---|
Autoriser l'exécution de code JIT 2 |
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. |
Autoriser la mémoire exécutable non signée 2 |
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 2 |
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 bibliothèques |
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. |
Audio Input |
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. |
Camera |
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 |
3 Activer pour permettre l'accès aux contacts dans le carnet d'adresses de l'utilisateur, si c'est activé, vous devez également fournir un message d'utilisation dans l'option privacy/address_book_usage_description. |
Calendriers |
3 Activez pour permettre l'accès au calendrier de l'utilisateur, si c'est activé vous devriez également fournir le message d'utilisation dans l'option privacy/calendar_usage_description. |
Bibliothèque photos |
3 Activez pour permettre l'accès à la bibliothèque de photos de l'utilisateur, si c'est activé, vous devez également fournir un message d'utilisation dans l'option privacy/photos_library_usage_description. |
Événements Apple |
3 Activez pour permettre à l'application d'envoyer des événements Apple à d'autres applications. |
Débogage |
4 Vous pouvez activer temporairement ce droit pour utiliser le débogueur natif (GDB, LLDB) avec l'application exportée. Ce droit doit être désactivé pour l'exportation de production. |
- 2(1,2,3)
Les droits
Autoriser l'exécution de code JIT
,Autoriser la mémoire exécutable non signée
etAutoriser les variables d'environnement DYLD
sont toujours activés pour les exportations Godot Mono et ne sont pas visibles dans les options d'exportation.- 3(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.
- 4
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 |
---|---|
Enabled |
Active l'App Sandbox. |
Network Server |
Activez cette option pour permettre à l'application d'écouter les connexions réseau entrantes. |
Network Client |
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. |
Fichiers « Téléchargements » 5 |
Autorise l'accès en lecture et écriture au dossier « Téléchargements » de l'utilisateur. |
Fichiers « Photos » 5 |
Autorise l'accès en lecture et écriture au dossier « Photos » de l'utilisateur. |
Fichiers « Musique » 5 |
Autorise l'accès en lecture et écriture au dossier « Musique » de l'utilisateur. |
Fichiers « Films » 5 |
Autorise l'accès en lecture et écriture au dossier « Films » de l'utilisateur. |
Fichiers sélectionnés par l'utilisateur 5 |
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. |
- 5(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.