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 the Application 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 and Timestamp and disable the Debug 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.

1

Deixe a opção Identity vazia para usar a assinatura ad-hoc.

2(1,2,3)

Esta opção é visível apenas ao exportar de um computador executando o macOS.

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 and Allow 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.