在 macOS 上运行 Godot 应用

参见

This page covers running Godot projects on macOS. If you haven't exported your project yet, read 为 macOS 导出 first.

默认情况下,macOS 只会运行签名并公证后的应用程序。

根据 macOS 应用签名和分发方法的不同,可能出现下列情况:

App 已签名并公证,通过 App Store 分发

备注

App 开发者需要加入 Apple 开发者计划,然后在导出时配置签名和公证选项,最后将 App 上传到 App Store。

App 应该是可以开箱即用的,无需额外的用户交互。

App 已签名并公证,在 App Store 外分发

备注

App 开发者需要加入 Apple 开发者计划,然后在导出时配置签名和公证选项,最后将 App 以“.DMG”或“.ZIP”归档文件的形式分发。

首次运行该 App 时,会出现如下对话框:

../../_images/signed_and_notarized_0.png

单击 打开 启动应用。

如果你看到了如下的警告对话框,那么你的 Mac 是被设置成了只允许来自 App Store 的应用。

../../_images/signed_and_notarized_1.png

要允许第三方程序,请打开 系统设置,点击 安全性与隐私,然后点击 通用,解锁设置,然后选择 App Store 和被认可的开发者

../../_images/sys_pref_0.png

应用已签名(包括 Ad-hoc 签名)但未公证

备注

应用开发者使用了自签名证书或 Ad-hoc 签名(Godot 导出项目的默认行为)。

首次运行该 App 时,会出现如下对话框:

../../_images/signed_0.png

要运行此应用,你可以临时覆盖 Gatekeeper:

  • 可以打开 系统设置,点击 安全性与隐私,然后点击 通用,然后点击 仍然打开

    ../../_images/sys_pref_1.png
  • 也可以在访达窗口中右键单击(Control-单击)应用图标,选择菜单中的 打开

    ../../_images/signed_1.png
  • 然后在确认对话框中单击 打开

    ../../_images/signed_2.png
  • 如出现提示就输入密码。

App 未签名,可执行文件由链接器签名

备注

App 使用官方导出模板构建,但未签名。

首次运行该 App 时,会出现如下对话框:

../../_images/linker_signed_1.png

要运行这个 App,你应该手动移除“隔离”(quarantine)扩展文件属性:

  • 打开 Terminal.app(按 Cmd + 空格,输入 Terminal)。

  • 切换到包含目标应用程序的文件夹。

    使用 cd 到_App_文件夹的路径 命令,例如在 Downloads 文件夹中的话就是 cd ~/Downloads/

  • 执行命令 xattr -dr com.apple.quarantine "未签名游戏.app"(包括引号和“.app”扩展名)。

App 和可执行文件都没有签名(仅适用于 Apple Slilicon 的 Mac)

备注

App 使用自定义导出模板构建,使用 OSXCross 编译,完全没有签名。

首次运行该 App 时,会出现如下对话框:

../../_images/unsigned_1.png

要运行这个 App,你可以自己进行 Ad-hoc 签名:

  • 从 App Store 安装 Xcode,运行并确认安装命令行工具。

  • 打开 Terminal.app(按 Cmd + 空格,输入 Terminal)。

  • 切换到包含目标应用程序的文件夹。

    使用 cd 到_App_文件夹的路径 命令,例如在 Downloads 文件夹中的话就是 cd ~/Downloads/

  • 运行以下命令:

    xattr -dr com.apple.quarantine "未签名游戏.app"(包括引号和“.app”扩展名)。

    codesign -s - --force --deep "未签名游戏.app"(包括引号和“.app”扩展名)。