Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Експорт на macOS¶
Дивись також
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 Compiling for macOS.
Програми macOS експортуються як пакет .app
, це тека з певною структурою, яка зберігає виконуваний файл, бібліотеки та всі файли проекту. Цей пакет можна експортувати як є, упакувати в ZIP-архів, або образ диска DMG (підтримується тільки при експорті на macOS).
Вимоги¶
Завантаження шаблонів експорту Godot. Використовуйте меню Godot: Редактор> Керування шаблонами експортування.
Дійсний і унікальний
Bundle identifier
має бути встановлений у розділіApplication
параметрів експорту.
Попередження
Проєкти, експортовані без підпису та нотаріального засвідчення коду, будуть заблоковані Gatekeeper, якщо вони завантажені з невідомих джерел, перегляньте сторінку Запуск застосунків Godot на MacOS для отримання додаткової інформації.
Підпис та нотаріальне засвідчення коду¶
За замовчуванням macOS запускатиме лише підписані та нотаріально завірені програми. Якщо ви використовуєте будь-яку іншу конфігурацію підпису, шукайте обхідний шлях на сторінці Запуск застосунків Godot на macOS.
Щоб нотаріально засвідчити застосунок, ви повинні мати дійсний Сертифікат Apple Developer ID.
If you have an Apple Developer ID Certificate and exporting from macOS¶
Install Xcode command line tools and open Xcode at least once or run the sudo xcodebuild -license accept
command to accept license agreement.
To sign exported app¶
Select
Xcode codesign
in theCode Signing > Codesign
option.Set valid Apple ID certificate identity (certificate "Common Name") in the
Code Signing > Identity
section.
To notarize exported app¶
Select
Xcode altool
in theNotarization > Notarization
option.Disable the
Debugging
entitlement.Set valid Apple ID login / app. specific password or App Store Connect API UUID / Key in the
Notarization
section.
Ви можете використовувати команду xcrun notarytool history
, щоб перевірити стан нотаріального засвідчення і скористатися командою xcrun notarytool log {ID}
для завантаження логу нотаріальних свідчень.
Якщо у вас виникли проблеми з нотаріальним засвідченням перегляньте Вирішення поширених питань нотаріального засвідчення.
Після завершення нотаріального засвідчення `прикріпіть квиток<https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow>`__ до експортованого проекту.
If you have an Apple Developer ID Certificate and exporting from Linux or Windows¶
Install PyOxidizer rcodesign, and configure the path to rcodesign
in the Editor Settings > Export > macOS > rcodesign
.
To sign exported app¶
Select
PyOxidizer rcodesign
in theCode Signing > Codesign
option.Set valid Apple ID PKCS #12 certificate file and password in the
Code Signing
section.
To notarize exported app¶
Select
PyOxidizer rcodesign
in theNotarization > Notarization
option.Disable the
Debugging
entitlement.Set valid App Store Connect API UUID / Key in the
Notarization
section.
You can use the rcodesign notary-log
command to check notarization status.
After notarization is completed, use the rcodesign staple
command to staple the ticket to the exported project.
Якщо у вас немає сертифіката Apple Developer ID¶
Select
Built-in (ad-hoc only)
in theCode Signing > Codesign
option.Select
Disabled
in theNotarization > Notarization
option.
In this case Godot will use a ad-hoc signature, which will make running an exported app easier for the end users, see the Running Godot apps on macOS page for more information.
Параметри підпису¶
Опція |
Опис |
---|---|
Дизайн |
Tool to use for code signing. |
Профіль |
The "Full Name" or "Common Name" of the signing identity, store in the macOS keychain. 1 |
Certificate File |
The PKCS #12 certificate file. 2 |
Certificate Password |
Password for the certificate file. 2 |
Custom Options |
Array of command line arguments passed to the code signing tool. |
Параметри нотаріального засвідчення¶
Опція |
Опис |
---|---|
Notarization |
Tool to use for notarization. |
Ім'я Apple ID |
Apple ID account name (email address). 3 |
Пароль до Apple ID |
Apple ID - пароль для конкретної програми. Щоб увімкнути двофакторну автентифікацію та створити пароль програми, див. розділ Використання паролів для конкретних програм. 3 |
Apple Team ID |
Team ID ("Organization Unit"), if your Apple ID belongs to multiple teams (optional). 3 |
API UUID |
Apple App Store Connect API issuer UUID. |
API Key |
Apple App Store Connect API key. |
Примітка
You should set either Apple ID Name/Password or App Store Connect API UUID/Key.
Для більшої інформації дивіться Нотаріальне засвідчення програмного забезпечення macOS перед розповсюдженням.
Права¶
Дозволи Захищеного виконання¶
За допомогою дозволів Захищеного виконання можна керувати параметрами безпеки та політикою доступу до ресурсів. Докладніше про них можна дізнатися з розділу Захищене виконання.
Дозволи |
Опис |
---|---|
Allow JIT Code Execution 4 |
Дозволяє створювати записувану та виконувану пам'ять для коду JIT. Якщо використовуються додаткові компоненти з динамічним, або само-змінюваним, рідним кодом, увімкніть їх відповідно до додаткової документації. |
Allow Unsigned Executable Memory 4 |
Дозволяє створювати завантажувальну та виконувану пам'ять без обмежень JIT. Якщо використовуються додаткові компоненти з динамічним або само-змінюваним рідним кодом, увімкніть їх відповідно до додаткової документації. |
Allow DYLD Environment Variables 4 |
Allows app to uss 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. |
Вимкнути перевірку бібліотеки |
Allows app to load arbitrary libraries and frameworks. Enable it if you are using GDExtension add-ons or ad-hoc signing, or want to support user-provided external add-ons. |
Звуковий вхід |
Увімкніть, якщо вам потрібно використовувати мікрофон, або інші джерела введення звуку, якщо він включений, ви також повинні надати повідомлення про використання в параметрі privacy/microphone_usage_description. |
Фотоапарат |
Увімкніть, якщо вам потрібно використовувати камеру, якщо вона включена, ви також повинні надати повідомлення про використання в параметрі privacy/camera_usage_description. |
Розташування |
Увімкніть, якщо вам потрібно використовувати інформацію про місцезнаходження зі служб визначення місцезнаходження, якщо вона включена, ви також повинні надати повідомлення про використання в параметрі privacy/location_usage_description. |
Адресна книга |
5 Enable to allow access 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. |
Календарі |
5 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. |
Бібліотека світлин |
5 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. |
Події Apple |
5 Enable to allow app to send Apple events to other apps. |
Діагностика |
6 You can temporarily enable this entitlement to use native debugger (GDB, LLDB) with the exported app. This entitlement should be disabled for production export. |
- 4(1,2,3)
Allow JIT Code Execution
,Allow Unsigned Executable Memory
іAllow DYLD Environment Variables
дозволи завжди ввімкнені для експорту Godot Mono, і не відображаються в параметрах експорту.- 5(1,2,3,4)
Ці функції не підтримуються Godot з коробки, вмикайте їх, лише якщо ви використовуєте додаткові компоненти, які їх потребують.
- 6
Щоб засвідчити застосунок, потрібно вимкнути дозвіл
Debugging
.
Дозвіл Пісочниці застосунку¶
Пісочниця застосунку обмежує доступ до даних користувачів, мереж і пристроїв. Програми з пісочницею не можуть отримати доступ до більшості файлових систем, не можуть використовувати власні діалогові вікна файлів і виконувати двійкові файли (за допомогою OS.execute
і OS.create_process
) за межами пакета .app
. Докладніше про це можна дізнатися з Пісочниця застосунку.
Примітка
Щоб розповсюдити застосунок через App Store, потрібно ввімкнути Пісочницю застосунку.
Дозволи |
Опис |
---|---|
Увімкнено |
Вмикає пісочницю застосунку. |
Мережевий сервер |
Увімкніть, щоб дозволити програмі прослуховувати вхідні мережні підключення. |
Клієнт мережі |
Увімкніть, щоб дозволити програмі встановлювати вихідні мережні підключення. |
USB пристрою |
Увімкніть, щоб застосунок міг взаємодіяти з USB-пристроями. Цей дозвіл необхідний для використання дротових контролерів. |
Bluetooth пристрою |
Увімкніть, щоб дозволити програмі взаємодіяти з пристроями Bluetooth. Цей дозвіл необхідний для використання бездротових контролерів. |
Files Downloads 7 |
Надає доступ для читання, або запису, папки користувача "Завантаження". |
Files Pictures 7 |
Дозволяє читати, або записувати, папку користувача "Зображення". |
Files Music 7 |
Дозволяє читати, або записувати, папку користувача "Музика". |
Files Movies 7 |
Дозволяє читати, або записувати, папку користувача "Фільми". |
Files User Selected 7 |
Дозволяє читати, або записувати, довільну теку. Щоб отримати доступ, користувач повинен вибрати теку з рідного діалогового вікна файлів. |
Допоміжний виконуваний файл |
Список допоміжних виконуваних файлів, вбудованих у пакет програм. Застосунок із пісочницею обмежений виконанням лише цих виконуваних файлів. |
- 7(1,2,3,4,5)
За бажання ви можете надавати повідомлення про використання для різних папок у параметрах privacy/*_folder_usage_description.
Примітка
Ви можете перевизначити дозволи за замовчуванням, вибравши файл користувацьких дозволів, у цьому випадку всі інші дозволи ігноруються.
Змінні середовища¶
You can use the following environment variables to set export options outside of the editor. During the export process, these override the values that you set in the export menu.
Export option |
Environment variable |
---|---|
Encryption / Encryption Key |
|
Options / Codesign / Certificate File |
|
Options / Codesign / Certificate Password |
|
Options / Codesign / Provisioning Profile |
|
Options / Notarization / API UUID |
|
Options / Notarization / API Key |
|
Options / Notarization / API Key ID |
|
Options / Notarization / Apple ID Name |
|
Options / Notarization / Apple ID Password |
|