Exportando para macOS¶
Ver também
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 Compilando para macOS.
os aplicativos do macOS são exportados como um pacote .app
, uma pasta com uma estrutura específica que armazena o executável, bibliotecas e todos os arquivos do projeto. Este pacote pode ser exportado como é, embalado em um arquivo ZIP ou imagem de disco DMG (somente suportado ao exportar de um computador executando o macOS).
Requisitos¶
Para habilitar a assinatura do código com o ID do Desenvolvedor Apple e a autenticação, você deve exportar de um computador rodando MacOS com as ferramentas de linha de comando Xcode instaladas.
A assinatura de código ad-hoc é suportada em todas as plataformas, sem ferramentas adicionais.
Baixe os modelos de exportação Godot. Use o menu Godot:
Editor > Gerenciar modelos de exportação
.A valid and unique
Bundle identifier
should be set in theApplication
section of the export options.
Aviso
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.
Assinatura de código e notarização¶
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.
Para autenticar um aplicativo, você deve ter um Certificado de identificação de desenvolvedor da Apple válido.
Se você tiver um certificado de ID de desenvolvedor da Apple¶
Exporte seu projeto de um computador rodando MacOS com as ferramentas de linha de comando Xcode instaladas.
Enable
Code Signing
,Notarization
,Hardened Runtime
andTimestamp
and disable theDebug
entitlement.Forneça credenciais de ID Apple válidas e identidade de certificado.
Se Notarization
estiver ativado, o Godot carregará automaticamente o projeto exportado para notarização.
Você pode usar o comando xcrun notarytool history
para verificar o status da notarização e usar o comando xcrun notarytool log {ID}
para baixar o log de notarização .
Se você encontrar problemas de notarização, consulte Resolvendo problemas comuns de notarização para obter mais informações.
Após a conclusão da notarização, apresente o ticket no projeto exportado.
Se você não tiver um certificado de ID de desenvolvedor da Apple¶
Mantenha Code Signing
habilitado e deixe a opção Identity
vazia (ao exportar de um computador rodando macOS, em outras plataformas esta opção fica oculta). Nesse caso, Godot usará uma assinatura ad-hoc, que facilitará a execução de um aplicativo exportado para os usuários finais, consulte a página Executando aplicativos Godot no macOS para obter mais informações.
Opções de Assinatura¶
Opção |
Descrição |
---|---|
Habilitar |
Habilita a assinatura de código. |
Identidade |
O "Nome completo" ou "Nome comum" da identidade de assinatura, armazene nas chaves do macOS. 1 2 |
Registro do Tempo |
Solicita um servidor de carimbo de data/hora para autenticar a hora da assinatura. Necessário para notarização. 2 |
Tempo de execução reforçado |
Ativa o "Hardened Runtime". Necessário para notarização. 2 |
Substituir Assinatura Existente |
Substitui as assinaturas existentes das bibliotecas GDNative e executáveis auxiliares integrados. |
Nota
Para autenticar um aplicativo, você deve habilitar o Hardened Runtime
e Timestamp
.
The Hardened Runtime
and Timestamp
options are incompatible with ad-hoc signing and will be ignored.
Opções de Notarização¶
Opção |
Descrição |
---|---|
Habilitar |
Permite upload automático para notarização. |
Nome Apple ID |
Nome da conta Apple ID (endereço de e-mail) |
Senha Apple ID |
Senha específica do aplicativo Apple ID. Consulte Usando senhas específicas do aplicativo para habilitar a autenticação de dois fatores e criar a senha do aplicativo. |
ID Apple Team |
ID da equipe, se o seu Apple ID pertencer a várias equipes |
Consulte Notarizing macOS Software Before Distribution para obter mais informações.
Nota
Notarização é suportada ao exportar de um computador executando o macOS, essas opções estão ocultas em outras plataformas.
Direitos¶
Hardened Runtime Entitlements¶
Hardened Runtime entitlements manage security options and resource access policy. See Hardened Runtime for more info.
Entitlement |
Descrição |
---|---|
Permitir a execução de código JIT 3 |
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. |
Allow Unsigned Executable Memory 3 |
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. |
Permitir variáveis de ambiente DYLD 3 |
Allows app to uss dynamic linker environment variables to inject code. f you are using add-ons with dynamic or self-modifying native code, enable them according to the add-on documentation. |
Desativar Validação da Biblioteca |
Allows app to load arbitrary libraries and frameworks. Enabled it if you are using GDNative add-ons and ad-hoc signature, or want to support user-provided external add-ons. |
Entrada de Áudio |
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. |
Câmera |
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. |
Localização |
Habilite se você precisar usar as informações de localização dos Serviços de Localização, se estiver habilitado, você também deve fornecer a mensagem de uso na opção privacy/location_usage_description. |
Contatos |
4 Habilitar para permitir acessar contatos no livro de endereços do usuário, se ele estiver habilitado, você também deve fornecer a mensagem de uso na opção privacy/address_book_usage_description. |
Calendários |
4 Habilite para permitir o acesso ao calendário do usuário, se estiver ativado, você também deverá fornecer a mensagem de uso na opção privacy/calendar_usage_description. |
Biblioteca de Fotos |
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. |
Eventos Apple |
4 Habilite para permitir que o aplicativo envie eventos da Apple para outros aplicativos. |
Depuração |
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)
The
Allow JIT Code Execution
,Allow Unsigned Executable Memory
andAllow DYLD Environment Variables
entitlements are always enabled for the Godot Mono exports, and are not visible in the export options.- 4(1,2,3,4)
These features aren't supported by Godot out of the box, enable them only if you are using add-ons which require them.
- 5
To notarize an app, you must disable the
Debugging
entitlement.
App Sandbox Entitlement¶
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 (using OS.execute
and OS.create_process
) outside the .app
bundle.
See App Sandbox for more info.
Nota
To distribute an app through the App Store, you must enable the App Sandbox.
Entitlement |
Descrição |
---|---|
Habilitado |
Enables App Sandbox. |
Servidor de Rede |
Enable to allow app to listen for incoming network connections. |
Cliente de Rede |
Enable to allow app to establish outgoing network connections. |
Dispositivo USB |
Enable to allow app to interact with USB devices. This entitlement is required to use wired controllers. |
Bluetooth do Dispositivo |
Enable to allow app to interact with Bluetooth devices. This entitlement is required to use wireless controllers. |
Files Downloads 6 |
Allows read or write access to the user's "Downloads" folder. |
Arquivos de imagens 6 |
Allows read or write access to the user's "Pictures" folder. |
Arquivos de música 6 |
Allows read or write access to the user's "Music" folder. |
Arquivos Filmes 6 |
Allows read or write access to the user's "Movies" folder. |
Arquivos selecionados pelo usuário 6 |
Allows read or write access to arbitrary folder. To gain access, a folder must be selected from the native file dialog by the user. |
Helper Executable |
List of helper executables to embedded to the app bundle. Sandboxed app are limited to execute only these executable. |
- 6(1,2,3,4,5)
You can optionally provide usage messages for various folders in the privacy/*_folder_usage_description options.
You can override default entitlements by selecting custom entitlements file, in this case all other entitlement are ignored.