Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Експорт на macOS
Дивись також
На цій сторінці описано, як експортувати проект Godot у macOS. Якщо натомість ви бажаєте скомпілювати редактор або експортувати двійкові файли шаблону з джерела, прочитайте Компіляція для macOS.
Програми macOS, експортовані за допомогою офіційних шаблонів експорту, експортуються як єдиний бінарний пакет "Universal 2" .app, папка зі специфічною структурою, в якій зберігаються виконуваний файл, бібліотеки та всі файли проекту. Цей пакет можна експортувати як є, упакувати в ZIP-архів або упакувати в образ диска DMG (підтримується лише під час експорту з macOS). Універсальні бінарні файли для macOS підтримують архітектури Intel x86_64 та ARM64 (Apple Silicon).
Попередження
Через обмеження файлової системи пакети .app, експортовані з Windows, не мають прапорця executable і не запускатимуться на macOS. Проекти, експортовані як .zip, не зазнають цієї проблеми. Щоб запустити пакети .app, експортовані з Windows на macOS, перенесіть .app на пристрій під керуванням macOS або Linux і скористайтеся командою термінала chmod +x {executable_name}, щоб додати дозвіл executable. Основний виконуваний файл, розташований у підпапці Contents/MacOS/, а також додаткові допоміжні виконувані файли у підпапці Contents/Helpers/, повинні мати дозвіл executable, щоб пакет .app був дійсним.
Вимоги
Завантажте шаблони експорту Godot. Скористайтеся меню Godot:
Editor > Manage Export Templates.Дійсний і унікальний
Bundle identifierмає бути встановлений у розділіApplicationпараметрів експорту.
Примітка
A valid bundle ID can only contain alphanumeric characters, hyphens, and periods (A-Z, a-z, 0-9, -, and .).
Apple recommends using reverse-DNS format (e.g. com.example.your-game) of a domain you own, so that your bundle ID is guaranteed to be unique.
Bundle IDs are case-insensitive. See CFBundleIdentifier.
Попередження
Проєкти, експортовані без підпису та нотаріального засвідчення коду, будуть заблоковані Gatekeeper, якщо вони завантажені з невідомих джерел, перегляньте сторінку Running Godot apps on macOS для отримання додаткової інформації.
Підпис та нотаріальне засвідчення коду
За замовчуванням macOS запускатиме лише підписані та нотаріально завірені програми. Якщо ви використовуєте будь-яку іншу конфігурацію підпису, шукайте обхідний шлях на сторінці Running Godot apps on macOS.
Щоб нотаріально засвідчити застосунок, ви повинні мати дійсний Сертифікат Apple Developer ID.
Якщо у вас є сертифікат Apple Developer ID і ви експортуєте з macOS
Установіть Xcode інструменти командного рядка та відкрийте Xcode принаймні один раз або виконайте команду sudo xcodebuild -license accept, щоб прийняти ліцензійну угоду.
Щоб підписати експортовану програму
Виберіть
Xcode codesignу опціїCode Signing > Codesign.Встановіть дійсний ідентифікатор сертифіката Apple ID (сертифікат "Common Name") у розділі
Підпис коду > Ідентифікація.
Нотаріально завірити експортований додаток
Виберіть
Xcode altoolу опціїНотаріальне засвідчення.Вимкніть право
Debugging.Встановіть дійсний логін / додаток Apple ID. конкретний пароль або App Store Connect API UUID / Ключ у розділі
Нотаріальне засвідчення.
Ви можете використовувати команду xcrun notarytool history, щоб перевірити стан нотаріального засвідчення і скористатися командою xcrun notarytool log {ID} для завантаження логу нотаріальних свідчень.
Якщо у вас виникли проблеми з нотаріальним засвідченням перегляньте Вирішення поширених питань нотаріального засвідчення.
Після завершення нотаріального засвідчення прикріпіть квиток до експортованого проекту.
Якщо у вас є сертифікат Apple Developer ID і ви експортуєте з Linux або Windows
Установіть PyOxidizer rcodesign та налаштуйте шлях до rcodesign у Налаштування редактора > Експорт > macOS > rcodesign.
Щоб підписати експортовану програму
Виберіть
PyOxidizer rcodesignу опціїCode Signing > Codesign.Встановіть дійсний файл сертифіката Apple ID PKCS #12 і пароль у розділі
Code Signing.
Нотаріально завірити експортований додаток
Виберіть
PyOxidizer rcodesignу опціїНотаріальне засвідчення > Нотаріальне засвідчення.Вимкніть право
Debugging.Установіть дійсний App Store Connect API UUID/ключ у розділі
Нотаріальне засвідчення.
Ви можете використовувати команду rcodesign notary-log, щоб перевірити статус нотаріального засвідчення.
Після завершення нотаріального засвідчення скористайтеся командою rcodesign staple, щоб прикріпити квиток до експортованого проекту.
Якщо у вас немає сертифіката Apple Developer ID
Виберіть
Вбудований (лише ad-hoc)у опціїПідпис коду > Кодовий дизайн.Виберіть
Вимкненов опціїНотаріальне засвідчення > Нотаріальне засвідчення.
У цьому випадку Godot використовуватиме спеціальний підпис, який спростить запуск експортованої програми для кінцевих користувачів. Для отримання додаткової інформації перегляньте сторінку Running Godot apps on macOS.
Параметри підпису
Опція |
Опис |
|---|---|
Дизайн |
Інструмент для підписання коду. |
Профіль |
«Повне ім’я» або «Загальне ім’я» ідентифікатора підпису зберігається в брелоку macOS. [1] |
Файл сертифіката |
Файл сертифіката PKCS #12. [2] |
Пароль сертифіката |
Пароль для файлу сертифіката. [2] |
Спеціальні параметри |
Масив аргументів командного рядка, переданий інструменту підписання коду. |
Параметри нотаріального засвідчення
Опція |
Опис |
|---|---|
Нотаріальне засвідчення |
Інструмент для нотаріального засвідчення. |
Ім'я Apple ID |
Назва облікового запису Apple ID (адреса електронної пошти). [3] |
Пароль до Apple ID |
Apple ID - пароль для конкретної програми. Щоб увімкнути двофакторну автентифікацію та створити пароль програми, див. розділ Використання паролів для конкретних програм. [3] |
ID команди Apple |
Ідентифікатор команди («Організаційний підрозділ»), якщо ваш Apple ID належить до кількох команд (необов’язково). [3] |
API UUID |
Apple App Store Connect UUID видавця API. |
Ключ API |
Ключ API Apple App Store Connect. |
Примітка
Ви повинні встановити ім’я/пароль Apple ID або UUID/ключ App Store Connect API.
Ці параметри видимі лише під час нотаріального посвідчення за допомогою інструменту Xcode.
Для більшої інформації дивіться Нотаріальне засвідчення програмного забезпечення macOS перед розповсюдженням.
Права
Дозволи Захищеного виконання
За допомогою дозволів Захищеного виконання можна керувати параметрами безпеки та політикою доступу до ресурсів. Докладніше про них можна дізнатися з розділу Захищене виконання.
Дозволи |
Опис |
|---|---|
Дозволити виконання коду JIT [4] |
Дозволяє створювати записувану та виконувану пам'ять для коду JIT. Якщо використовуються додаткові компоненти з динамічним, або само-змінюваним, рідним кодом, увімкніть їх відповідно до додаткової документації. |
Дозволити непідписану виконувану пам'ять [4] |
Дозволяє створювати завантажувальну та виконувану пам'ять без обмежень JIT. Якщо використовуються додаткові компоненти з динамічним або само-змінюваним рідним кодом, увімкніть їх відповідно до додаткової документації. |
Дозволити змінні середовища DYLD [4] |
Дозволяє програмі використовувати змінні середовища динамічного компонувальника для введення коду. Якщо ви використовуєте додатки з динамічним або самозмінним власним кодом, увімкніть їх відповідно до документації до додатка. |
Вимкнути перевірку бібліотеки |
Дозволяє програмі завантажувати довільні бібліотеки та фреймворки. Увімкніть його, якщо ви використовуєте надбудови GDExtension або спеціальний підпис або хочете підтримувати надані користувачем зовнішні надбудови. |
Звуковий вхід |
Увімкніть, якщо вам потрібно використовувати мікрофон, або інші джерела введення звуку, якщо він включений, ви також повинні надати повідомлення про використання в параметрі privacy/microphone_usage_description. |
Фотоапарат |
Увімкніть, якщо вам потрібно використовувати камеру, якщо вона включена, ви також повинні надати повідомлення про використання в параметрі privacy/camera_usage_description. |
Розташування |
Увімкніть, якщо вам потрібно використовувати інформацію про місцезнаходження зі служб визначення місцезнаходження, якщо вона включена, ви також повинні надати повідомлення про використання в параметрі privacy/location_usage_description. |
Адресна книга |
[5] Увімкніть, щоб дозволити доступ до контактів в адресній книзі користувача. Якщо це ввімкнено, вам також слід надати повідомлення про використання в параметрі privacy/address_book_usage_description. |
Календарі |
[5] Увімкніть, щоб дозволити доступ до календаря користувача, якщо це ввімкнено, ви також повинні надати повідомлення про використання в параметрі privacy/calendar_usage_description. |
Бібліотека світлин |
[5] Увімкніть, щоб дозволити доступ до бібліотеки фотографій користувача. Якщо ввімкнено, ви також маєте надати повідомлення про використання в параметрі privacy/photos_library_usage_description. |
Події Apple |
[5] Увімкніть, щоб дозволити програмі надсилати події Apple іншим програмам. |
Діагностика |
[6] Ви можете тимчасово ввімкнути це право для використання власного налагоджувача (GDB, LLDB) з експортованою програмою. Це право має бути вимкнено для експорту продукції. |
Allow JIT Code Execution, Allow Unsigned Executable Memory і Allow DYLD Environment Variables дозволи завжди ввімкнені для експорту Godot Mono, і не відображаються в параметрах експорту.
Ці функції не підтримуються Godot з коробки, вмикайте їх, лише якщо ви використовуєте додаткові компоненти, які їх потребують.
Щоб засвідчити застосунок, потрібно вимкнути дозвіл Debugging.
Дозвіл Пісочниці застосунку
Пісочниця застосунку обмежує доступ до даних користувачів, мереж і пристроїв. Програми з пісочницею не можуть отримати доступ до більшості файлових систем, не можуть використовувати власні діалогові вікна файлів і виконувати двійкові файли (за допомогою OS.execute і OS.create_process) за межами пакета .app. Докладніше про це можна дізнатися з Пісочниця застосунку.
Примітка
Щоб розповсюдити застосунок через App Store, потрібно ввімкнути Пісочницю застосунку.
Дозволи |
Опис |
|---|---|
Увімкнено |
Вмикає пісочницю застосунку. |
Мережевий сервер |
Увімкніть, щоб дозволити програмі прослуховувати вхідні мережні підключення. |
Клієнт мережі |
Увімкніть, щоб дозволити програмі встановлювати вихідні мережні підключення. |
USB пристрою |
Увімкніть, щоб застосунок міг взаємодіяти з USB-пристроями. Цей дозвіл необхідний для використання дротових контролерів. |
Bluetooth пристрою |
Увімкніть, щоб дозволити програмі взаємодіяти з пристроями Bluetooth. Цей дозвіл необхідний для використання бездротових контролерів. |
Завантаження файлів [7] |
Надає доступ для читання, або запису, папки користувача "Завантаження". |
Файли Зображення [7] |
Дозволяє читати, або записувати, папку користувача "Зображення". |
Файли Музика [7] |
Дозволяє читати, або записувати, папку користувача "Музика". |
Файли Фільми [7] |
Дозволяє читати, або записувати, папку користувача "Фільми". |
Файли, вибрані користувачем [7] |
Дозволяє читати, або записувати, довільну теку. Щоб отримати доступ, користувач повинен вибрати теку з рідного діалогового вікна файлів. |
Допоміжний виконуваний файл |
Список допоміжних виконуваних файлів, вбудованих у пакет програм. Застосунок із пісочницею обмежений виконанням лише цих виконуваних файлів. |
За бажання ви можете надавати повідомлення про використання для різних папок у параметрах privacy/*_folder_usage_description.
Примітка
Ви можете перевизначити дозволи за замовчуванням, вибравши файл користувацьких дозволів, у цьому випадку всі інші дозволи ігноруються.
Змінні середовища
Ви можете використовувати такі змінні середовища, щоб налаштувати параметри експорту поза редактором. Під час процесу експорту вони замінюють значення, встановлені в меню експорту.
Варіант експорту |
Змінна середовища |
|---|---|
Шифрування / ключ шифрування |
|
Параметри / Кодовий дизайн / Файл сертифіката |
|
Параметри / Кодовий дизайн / Пароль сертифіката |
|
Параметри / Кодовий дизайн / Профіль надання |
|
Опції / Нотаріальне засвідчення / API UUID |
|
Опції / Нотаріальне засвідчення / Ключ API |
|
Опції / Нотаріальне засвідчення / API Key ID |
|
Опції / Нотаріальне засвідчення / Ім'я Apple ID |
|
Параметри / Нотаріальне засвідчення / Пароль Apple ID |
|
Параметри експортування
Повний список доступних опцій експорту можна знайти в довіднику класу EditorExportPlatformMacOS.