在 macOS 上執行 Godot 應用程式
也參考
這個頁面描述的是在 macOS 上運作 Godot 專案。如果你還沒有匯出專案,請先閱讀 為 macOS 匯出。
預設情況下,macOS 僅允許執行已簽章與公證的應用程式。
備註
當從下載資料夾執行應用程式,或應用仍處於隔離狀態時,Gatekeeper 會進行「路徑隨機化」作為安全防護。這會造成應用程式存取相對路徑的失效。若要解決此問題,請將應用程式移動到 /Applications 資料夾。
一般來說,macOS 應用程式應避免依賴應用資料夾的相對路徑。
根據 macOS 應用簽章和分發方法的不同,可能出現下列情況:
App 已簽章並公證,通過 App Store 分發
備註
App 開發者需要加入 Apple 開發者計畫,然後在匯出時配置簽章和公證選項,最後將 App 上傳到 App Store。
應用程式應可直接執行,無需額外使用者操作。
App 已簽章並公證,在 App Store 外分發
備註
應用開發者需加入 Apple 開發者計畫,匯出時設定簽章與公證選項,然後將應用程式以「.DMG」或「.ZIP」檔案方式分發。
首次運作該 App 時,會出現如下對話方塊:
按一下 打開 啟動應用。
如果你看到了如下的警告對話方塊,那麼你的 Mac 是被設定成了只允許來自 App Store 的應用。
要允許協力廠商程式,請打開 系統設定,點擊 安全性與隱私,然後點擊 通用,解鎖設定,然後選擇 App Store 和被認可的開發者。
應用程式已簽章(包含 ad-hoc 簽章),但未公證
備註
應用開發者使用自簽憑證或 ad-hoc 簽章(Godot 匯出專案的預設行為)。
首次運作該 App 時,會出現如下對話方塊:
若要執行此應用程式,可暫時覆寫 Gatekeeper 設定:
可前往「系統偏好設定」>「安全性與隱私」>「一般」,然後點選「仍要打開」。
或於 Finder 視窗中對應用程式圖示滑鼠右鍵(或按住 Control 點擊),從選單選擇「打開」。
於確認對話框點選「打開」。
如出現提示請輸入密碼。
另一種方式為完全停用 Gatekeeper。請注意,這會降低電腦安全性,允許任何軟體執行。請於終端機執行 sudo spctl --master-disable,輸入密碼後,任何來源 選項即會出現:
請注意,macOS 更新後 Gatekeeper 會自動重新啟用。
應用程式未簽章,僅執行檔由連結器簽章
備註
應用程式使用官方匯出樣板建置,但未簽章。
首次運作該 App 時,會出現如下對話方塊:
若要執行此應用程式,請手動移除 quarantine 擴充檔案屬性:
打開
Terminal.app``(按下 :kbd:`Cmd + Space` 並輸入 ``Terminal)。切換至存放目標應用程式的資料夾。
使用
cd 路徑到_app_資料夾指令,例如若於「下載」資料夾,則輸入cd ~/Downloads/。執行指令
xattr -dr com.apple.quarantine "Unsigned Game.app"(包含引號及 .app 副檔名)。
應用程式與執行檔皆未簽章(僅適用於 Apple Silicon Mac)
備註
應用程式使用自訂匯出樣板並以 OSXCross 編譯,完全未經簽章。
首次運作該 App 時,會出現如下對話方塊:
若要執行此應用程式,你可自行進行 ad-hoc 簽章:
從 App Store 安裝
Xcode,啟動並確認安裝命令列工具。打開
Terminal.app``(按下 :kbd:`Cmd + Space` 並輸入 ``Terminal)。切換至存放目標應用程式的資料夾。
使用
cd 路徑到_app_資料夾指令,例如若於「下載」資料夾,則輸入cd ~/Downloads/。執行下列指令:
xattr -dr com.apple.quarantine "Unsigned Game.app"(包含引號及 .app 副檔名)。codesign -s - --force --deep "Unsigned Game.app"(包含引號及 .app 副檔名)。