Up to date
This page is up to date for Godot 4.1
. If you still find outdated information, please open an issue.
EditorExportPlatformMacOS
Inherits: EditorExportPlatform < RefCounted < Object
Exporter for macOS.
Tutorials
Properties
Property Descriptions
String application/app_category
Application category for the App Store.
String application/bundle_identifier
Unique application identifier in a reverse-DNS format, can only contain alphanumeric characters (A-Z
, a-z
, and 0-9
), hyphens (-
), and periods (.
).
String application/copyright
Copyright notice for the bundle visible to the user (in English).
Dictionary application/copyright_localized
Copyright notice for the bundle visible to the user (localized).
String application/icon
Application icon file. If left empty, it will fallback to ProjectSettings.application/config/macos_native_icon, and then to ProjectSettings.application/config/icon.
int application/icon_interpolation
Interpolation method used to resize application icon.
String application/min_macos_version
Minimum version of macOS required for this application to run in the major.minor.patch
or major.minor
format, can only contain numeric characters (0-9
) and periods (.
).
String application/short_version
Application version visible to the user, can only contain numeric characters (0-9
) and periods (.
).
String application/signature
A four-character creator code that is specific to the bundle. Optional.
String application/version
Machine-readable application version, in the major.minor.patch
format, can only contain numeric characters (0-9
) and periods (.
).
String binary_format/architecture
Application executable architecture.
Supported architectures: x86_64
, arm64
, and universal
(x86_64 + arm64
).
Official export templates include universal
binaries only.
String codesign/apple_team_id
Apple Team ID, unique 10-character string. To locate your Team ID check “Membership details” section in your Apple developer account dashboard, or “Organizational Unit” of your code signing certificate. See Locate your Team ID.
String codesign/certificate_file
PKCS #12 certificate file used to sign .app
bundle.
Can be overridden with the environment variable GODOT_MACOS_CODESIGN_CERTIFICATE_FILE
.
String codesign/certificate_password
Password for the certificate file used to sign .app
bundle.
Can be overridden with the environment variable GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD
.
int codesign/codesign
Tool to use for code signing.
PackedStringArray codesign/custom_options
Array of the additional command line arguments passed to the code signing tool.
bool codesign/entitlements/address_book
Enable to allow access to 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. See com.apple.security.personal-information.addressbook.
bool codesign/entitlements/allow_dyld_environment_variables
Allows app to use 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. See com.apple.security.cs.allow-dyld-environment-variables.
bool codesign/entitlements/allow_jit_code_execution
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. See com.apple.security.cs.allow-jit.
bool codesign/entitlements/allow_unsigned_executable_memory
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. See com.apple.security.cs.allow-unsigned-executable-memory.
bool codesign/entitlements/app_sandbox/device_bluetooth
Enable to allow app to interact with Bluetooth devices. This entitlement is required to use wireless controllers. See com.apple.security.device.bluetooth.
bool codesign/entitlements/app_sandbox/device_usb
Enable to allow app to interact with USB devices. This entitlement is required to use wired controllers. See com.apple.security.device.usb.
bool codesign/entitlements/app_sandbox/enabled
Enables App Sandbox. The App Sandbox restricts access to user data, networking, and devices. Sandboxed apps can’t access most of the file system, can’t use custom file dialogs and execute binaries outside the .app bundle. See App Sandbox.
Note: To distribute an app through the App Store, you must enable the App Sandbox.
int codesign/entitlements/app_sandbox/files_downloads
Allows read or write access to the user’s “Downloads” folder. See com.apple.security.files.downloads.read-write.
int codesign/entitlements/app_sandbox/files_movies
Allows read or write access to the user’s “Movies” folder. See com.apple.security.files.movies.read-write.
int codesign/entitlements/app_sandbox/files_music
Allows read or write access to the user’s “Music” folder. See com.apple.security.files.music.read-write.
int codesign/entitlements/app_sandbox/files_pictures
Allows read or write access to the user’s “Pictures” folder. See com.apple.security.files.pictures.read-write.
Array codesign/entitlements/app_sandbox/helper_executables
List of helper executables to embedded to the app bundle. Sandboxed app are limited to execute only these executable. See Embedding a command-line tool in a sandboxed app.
bool codesign/entitlements/app_sandbox/network_client
Enable to allow app to establish outgoing network connections. See com.apple.security.network.client.
bool codesign/entitlements/app_sandbox/network_server
Enable to allow app to listen for incoming network connections. See com.apple.security.network.server.
bool codesign/entitlements/apple_events
Enable to allow app to send Apple events to other apps. See com.apple.security.automation.apple-events.
bool codesign/entitlements/audio_input
Enable if you need to use the microphone or other audio input sources, if it’s enabled you should also provide usage message in the privacy/microphone_usage_description
option. See com.apple.security.device.audio-input.
bool codesign/entitlements/calendars
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. See com.apple.security.personal-information.calendars.
bool codesign/entitlements/camera
Enable if you need to use the camera, if it’s enabled you should also provide usage message in the privacy/camera_usage_description
option. See com.apple.security.device.camera.
String codesign/entitlements/custom_file
Custom entitlements .plist
file, if specified the rest of entitlements in the export config are ignored.
bool codesign/entitlements/debugging
You can temporarily enable this entitlement to use native debugger (GDB, LLDB) with the exported app. This entitlement should be disabled for production export. See Embedding a command-line tool in a sandboxed app.
bool codesign/entitlements/disable_library_validation
Allows app to load arbitrary libraries and frameworks (not signed with the same Team ID as the main executable or by Apple). Enable it if you are using GDExtension add-ons or ad-hoc signing, or want to support user-provided external add-ons. See com.apple.security.cs.disable-library-validation.
bool codesign/entitlements/location
Enable if you need to use location information from Location Services, if it’s enabled you should also provide usage message in the privacy/location_usage_description
option. See com.apple.security.personal-information.location.
bool codesign/entitlements/photos_library
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. See com.apple.security.personal-information.photos-library.
String codesign/identity
The “Full Name”, “Common Name” or SHA-1 hash of the signing identity used to sign .app
bundle.
String codesign/installer_identity
The “Full Name”, “Common Name” or SHA-1 hash of the signing identity used to sign .pkg
installer package for App Store distribution, use 3rd Party Mac Developer Installer: Name.
identity.
String codesign/provisioning_profile
Provisioning profile file downloaded from Apple developer account dashboard. See Edit, download, or delete provisioning profiles.
Can be overridden with the environment variable GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE
.
String custom_template/debug
Path to the custom export template. If left empty, default template is used.
String custom_template/release
Path to the custom export template. If left empty, default template is used.
int debug/export_console_wrapper
If enabled, a wrapper that can be used to run the application with console output is created alongside the exported application.
bool display/high_res
If true
, the application is rendered at native display resolution, otherwise it is always rendered at loHPI resolution and upscaled by OS when required.
int export/distribution_type
Application distribution target.
String notarization/api_key
Apple App Store Connect API issuer key file.
Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_API_KEY
.
String notarization/api_key_id
Apple App Store Connect API issuer key ID.
Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_API_KEY_ID
.
String notarization/api_uuid
Apple App Store Connect API issuer UUID.
Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_API_UUID
.
String notarization/apple_id_name
Apple ID account name (email address).
Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME
.
String notarization/apple_id_password
Apple ID app-specific password.
Can be overridden with the environment variable GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD
.
int notarization/notarization
Tool to use for notarization.
String privacy/address_book_usage_description
A message displayed when requesting access to the user’s contacts (in English).
Dictionary privacy/address_book_usage_description_localized
A message displayed when requesting access to the user’s contacts (localized).
String privacy/calendar_usage_description
A message displayed when requesting access to the user’s calendar data (in English).
Dictionary privacy/calendar_usage_description_localized
A message displayed when requesting access to the user’s calendar data (localized).
String privacy/camera_usage_description
A message displayed when requesting access to the device’s camera (in English).
Dictionary privacy/camera_usage_description_localized
A message displayed when requesting access to the device’s camera (localized).
String privacy/desktop_folder_usage_description
A message displayed when requesting access to the user’s “Desktop” folder (in English).
Dictionary privacy/desktop_folder_usage_description_localized
A message displayed when requesting access to the user’s “Desktop” folder (localized).
String privacy/documents_folder_usage_description
A message displayed when requesting access to the user’s “Documents” folder (in English).
Dictionary privacy/documents_folder_usage_description_localized
A message displayed when requesting access to the user’s “Documents” folder (localized).
String privacy/downloads_folder_usage_description
A message displayed when requesting access to the user’s “Downloads” folder (in English).
Dictionary privacy/downloads_folder_usage_description_localized
A message displayed when requesting access to the user’s “Downloads” folder (localized).
String privacy/location_usage_description
A message displayed when requesting access to the user’s location information (in English).
Dictionary privacy/location_usage_description_localized
A message displayed when requesting access to the user’s location information (localized).
String privacy/microphone_usage_description
A message displayed when requesting access to the device’s microphone (in English).
Dictionary privacy/microphone_usage_description_localized
A message displayed when requesting access to the device’s microphone (localized).
String privacy/network_volumes_usage_description
A message displayed when requesting access to the user’s network drives (in English).
Dictionary privacy/network_volumes_usage_description_localized
A message displayed when requesting access to the user’s network drives (localized).
String privacy/photos_library_usage_description
A message displayed when requesting access to the user’s photo library (in English).
Dictionary privacy/photos_library_usage_description_localized
A message displayed when requesting access to the user’s photo library (localized).
String privacy/removable_volumes_usage_description
A message displayed when requesting access to the user’s removable drives (in English).
Dictionary privacy/removable_volumes_usage_description_localized
A message displayed when requesting access to the user’s removable drives (localized).
String ssh_remote_deploy/cleanup_script
Script code to execute on the remote host when app is finished.
The following variables can be used in the script:
{temp_dir}
- Path of temporary folder on the remote, used to upload app and scripts to.{archive_name}
- Name of the ZIP containing uploaded application.{exe_name}
- Name of application executable.{cmd_args}
- Array of the command line argument for the application.
bool ssh_remote_deploy/enabled
Enables remote deploy using SSH/SCP.
String ssh_remote_deploy/extra_args_scp
Array of the additional command line arguments passed to the SCP.
String ssh_remote_deploy/extra_args_ssh
Array of the additional command line arguments passed to the SSH.
String ssh_remote_deploy/host
Remote host SSH user name and address, in user@address
format.
String ssh_remote_deploy/port
Remote host SSH port number.
String ssh_remote_deploy/run_script
Script code to execute on the remote host when running the app.
The following variables can be used in the script:
{temp_dir}
- Path of temporary folder on the remote, used to upload app and scripts to.{archive_name}
- Name of the ZIP containing uploaded application.{exe_name}
- Name of application executable.{cmd_args}
- Array of the command line argument for the application.
String xcode/platform_build
macOS build number used to build application executable.
String xcode/sdk_build
macOS SDK build number used to build application executable.
String xcode/sdk_name
macOS SDK name used to build application executable.
String xcode/sdk_version
macOS SDK version used to build application executable in the major.minor
format.
String xcode/xcode_build
Xcode build number used to build application executable.
String xcode/xcode_version
Xcode version used to build application executable.